講義資料

情報科学概論 2 回目
2014/10/9
今回の目的
• ファイル、ディレクトリの操作 (作成,消去,移動など) を理解する.そして X ターミナルでのファイル操
作に慣れる (次回の実習の時間).
ファイルとディレクトリ
1
1.1
ファイル
データを格納するための論理的単位の 1 つ.
• テキストファイル.画像ファイル.動画ファイル. Word ファイル ......
• 特殊なファイル: ディレクトリ.デバイス.リンク......
• ファイルの属性
– ユーザー,グループ,読み・書き・実行の権限
– 作成時間、修正時間、最終アクセス時間
ファイルの名前
• 文字の種類:基本的には何でもいい
– 避けた方がいい文字
/ ! @ # $ ^ & * - ( ) +‘ “ | ?
– スペース、漢字
UNIX として使うなら避けたほうが良い.
– 大文字・小文字は区別
例外:MS-DOS, Mac
• 拡張子: .txt (テキストファイル) .pdf (pdf ファイル) .jpg (画像ファイル) .mpg (動画ファイル) など
ファイルの種類を分かりやすくする.
アプリケーションとの関連づけ (ダブルクリックすると関連するアプリケーションで開くよう設定するなど.)
1.2
ディレクトリ
ファイル・ディレクトリを目的別,種類別に整理できる「箱」.
ディレクトリの下 (中) にディレクトリがあっても良い.
Windows などではフォルダとも呼ばれる.
1.3
絶対パス・相対パス
ディレクトリの階層構造
• パス名:path name
– 区切り文字:/ (UNIX), (Windows), : (Mac OS 9)
– current working directory: .
– 1 つ上:..、2 つ上: ../..、3 つ上: ../../..
1
/
home/
bin/
stakeru/
ls
file1.txt
Figure 1: ディレクトリの階層構造の例.角囲みがディレクトリ.丸囲みがファイル.一番上の階層 (/) をルート
ディレクトリと呼ぶ. (逆さから見ると木の根っこに対応している.)
ファイル・ディレクトリの操作
2
X ターミナルを開き,コマンド操作によりファイル・ディレクトリを操作する.
2.1
よく使うファイル操作コマンド
(以下.コマンドの最初の%マークはターミナル上の入力促進記号であり,タイプする必要は無い.またコマンド入
力後 Return キーでコマンドが実行される.)
• 現在のディレクトリを表示.(Present Working Directory)
% pwd
• ファイルの表示 (LiSt)
% ls
具体例
– 1 つ上の階層 (ディレクトリ) のファイルリストを表示
% ls ../
– 現在のディレクトリのファイルリストの詳細情報 (オプション -l) と共に表示.
% ls -l
-rw-r--r-- 1 stakeru staff
1116 2014-09-24 12:07 thunderbird.jpg \
2
この例では thunderbird.jpg という大きさ 1116 バイトのファイルが 2014 年 9 月 24 日 12 時 7 分に
stakeru さんにより更新されたことが分かる.(最初の-rw-r--r-- はファイル属性; 後述)
1 バイト (byte) = 8 bits; 1 bit は 2 進数の 1 桁 (0 か 1)
– 最新更新日時の最新のもの (オプション -t) から、詳細情報 (-l) と共に表示.
% ls -lt
• ディレクトリの移動 (Change Directory)
% cd
– ディレクトリ dir1 へと移動.
% cd dir1
– 1 つ上の階層へ上がる.
% cd ..
• ファイル,ディレクトリのコピー (CoPy)
% cp
– 同じディレクトリ内でのコピー
% cp file1 file2
– 1 つ上の階層へのコピー
% cp file1 ../file2
– オプション -i を付けると、コピー先のファイルが存在する場合、上書きして良いか尋ねてくれる.
% cp -i file1 file2
cp: ‘file2’ を上書きしてもよろしいですか (yes/no)?
ここで yes とタイプし Return キーを叩くと上書きされる.
cp コマンドではもとのファイル (上記で file1) が残る.
• ファイル,ディレクトリの移動 (MoVe)
% mv
コマンドの使用法は cp と基本的に同じだが、もとのファイル (上記の例で file1) が残らないので注意!
• ファイルの中身の表示
– そのまま表示
% cat ファイル名
– 1 画面ずつ表示
% more ファイル名
% less ファイル名
次ページへは spc で、途中で終了するには q をタイプ.
• ディレクトリの生成 (MaKe DIRectory)
% mkdir dir1
• ファイルの消去 (ReMove)
% rm file1
で file1 が消去される. 一旦消してしまったファイルは取り戻せないので注意!
• ディレクトリの消去 (ReMove DIRectroy)
% rmdir dir1
ディレクトリ dir1 の中身が空の場合は上記で消去できるが、中にファイルが残っている時は消去できない.
ファイルごと消去する場合は
% rm -r dir1
とする.非常に危険なコマンドなので、使用時には細心の注意を要する.
3
• ファイルへの書き出し.
% ls > tmp.txt
とすると、ls の結果 (ファイルのリスト) がファイル tmp.txt に書き出される.もし tmp.txt というファイル
がもとから存在していた場合は、内容が全て書き変わってしまうので注意が必要.もとからあった tmp.txt
に書き足す場合は
% ls >> tmp.txt
とする.(> や >> などをリダイレクトと言う.)
• コマンドの連結
例えば以下のようにすると、ファイルのリストを 1 ページずつ表示させることが可能.
% ls | less
(| をパイプと言う.)
• コマンドの使用法の詳細 ⇒ man コマンドで調べられる.例えば
% man ls
とタイプすると ls の使用法が表示される.
2.2
ファイルのアクセス権
例えば
% ls -l
で以下のような結果が得られた場合を説明する.
drwxr-xr-x 326 stakeru staff
-rw-r--r-- 1 stakeru staff
-rwxr-xr-x 1 stakeru staff
11084 2014-09-24 16:03 .
51579 2014-09-22 21:33 Initial_drc_spe17.f90
8343400 2014-09-22 21:33 testrun
drwxr-xr-x などの意味.
• 最初の 1 文字 : d ならディレクトリ
• 次の 3 文字ずつが u(User), g(Group), o(Other) のアクセス権を表す.
• 読み出し (r)
– 対象がファイルの場合
対象のファイルをウィンドウ上,エディタ上に表示できるかどうかを表す.
– 対象がディレクトリの場合
対象のディレクトリ以下のファイルのリストを表示できるかどうかを表す。ディレクトリの読み出しが
許可されていないと,そのディレクトリの下にあるファイルを ls コマンドなどで表示できない.
• 書き込み (w)
– 対象がファイルの場合
ファイルを書き換えられるかどうかを表す.ファイルへの書き込みにはファイルの消去も含まれる.
– 対象がディレクトリの場合
そのディレクトリ内に自分の作ったファイルを置いたり,そのディレクトリ内のファイルを消去できる
かどうかを表す.
• 実行 (x)
– 対象がファイルの場合
そのファイルをコマンドとして実行できるかどうかを表す.
– 対象がディレクトリの場合
そのディレクトリ内に cd コマンドで移動できるかどうかを表す.
4
8 進数
0
1
2
3
意味
許可無し
実行のみ可
書き込みのみ可
書き込みと実行可
rwx
----x
-w-wx
8 進数
4
5
6
7
意味
読み出しのみ可
読み出しと実行可
読み出しと書き込み可
全て可
rwx
r-r-x
rwrwx
アクセス権の変更. chmod (CHange MODe)
具体例
• chmod go-r [ファイル名]
自分以外のユーザ,つまりグループのメンバと他のユーザ (g,o) から,読み出し許可 (r) を削除 (-) する.
• chmod a+r [ファイル名]
すべてのユーザ (a) に対して,読み出し許可 (r) を追加 (+) する.
• chmod go-w [ファイル名]
自分以外のユーザ,つまりグループのメンバと他のユーザ (g,o) から,書き込み許可 (w) を削除 (-) する.
• chmod a=rx [ファイル名]
すべてのユーザ (a) に対して,新たに読み出し許可 (r) と,実行許可 (x) が設定 (=) され,書き込み許可は
削除される.
8 進数によるモード設定
• chmod 755 [ファイル名]
自分が 7,その他のユーザは 5 であるから,保護モードは rwxr-xr-x になる.情報を不特定のユーザに公開
するときにはこの状態にする必要がある.
• chmod 700 [ファイル名]
自分が 7,その他のユーザは 0 であるから,保護モードは rwx------になる.他のユーザから隠すファイル
は,この状態にする必要がある.
3
エディタ (editor)
ファイルを作成、編集するソフトウェア.メモ帳 (Windows).テキストエディット (Mac OS X).vi, emacs (Unix)
などがある.自分の好みのものを使用して良い.特に好みが無い人は emacs を使用しましょう.(具体的な使い方
は実習で取り上げる.)
5
M31
NGC300
M33
NGC925
NGC1365
NGC2090
NGC2403
NGC2541
M81
NGC3109
NGC3198
M95
M96
NGC3621
M100
NGC4414
NGC4496
NGC4535
NGC4536
NGC4548
NGC4639
NGC4725
NGC5253
M101
NGC7331
IC4182
-298
145
-182
554
1639
936
132
553
-43
403
660
783
899
734
1590
720
1738
1966
1866
472
983
1207
417
231
819
326
0.77
2.14783
0.847227
9.28966
18.6209
12.3027
3.17687
12.4165
3.63078
1.0
14.4544
10.0462
11.5878
6.60693
16.1436
19.1426
16.0694
15.9956
16.5959
16.4437
25.4683
12.5893
4.09261
7.37904
15.0661
4.69894
Table 1: 近傍銀河の後退速度 (km/s; 第 2 コラム) と距離 (Mpc; 第 3 コラム). emacs で作成
6