6. ディレクトリ操作コマンド

 
6.1 ls ファイル・ディレクトリの情報表示
6.2 cp ファイル・ディレクトリのコピー
6.3 mv ファイル・ディレクトリの移動
6.4 mkdir ディレクトリの作成
6.5 rmdir ディレクトリの削除
6.6 tar ファイル群の保管
6.7 ln ファイルのリンク作成
6.8 chown ファイルのユーザID・グループIDを変更

6.1 ls ファイル・ディレクトリの情報表示

 ファイル・ディレクトリの情報を表示します。
> ls [オプション] [ディレクトリ名・・・]
 最も多く使うコマンドのひとつです。  指定したディレクトリに含まれるファイルの情報を表示します。ディレクトリ名を省略するとカレント・ディレクトリの情報を表示します。  主なオプションには、以下のものがあります。
オプション文字列 意味
-F ファイルの区別がわかるように表示する ディレクトリ名 = '/' 実行ファイル = '*' シンボリックリンク = '@'
-f ファイル名をソートせずに表示
-t 時刻順に表示
-R 指定したディレクトリ以下の階層のディレクトリの内容を全て表示
-a . で始まるファイルも表示
-l ディレクトリ・ファイルの属性を表示

6.2 cp ファイル・ディレクトリのコピー

 ファイルをコピーします。
> cp [オプション] 元ファイル名 新ファイル名
 主なオプションには、以下のものがあります。
オプション文字列 意味
-i もし新ファイル名と同名のファイルがある場合、上書きするか問い合わせてくるようにする
-p ファイルの属性を可能な限り保持してコピーする。
保持する属性は
 変更時刻・アクセス時刻・フラグ・モード・ユーザID・グループID
-R ディレクトリツリーごとコピーする。
シンボリックリンクはコピーされない。
-H -R オプション指定時、コマンド行で指定したシンボリックリンクもコピーする。
-L -R オプション指定時、すべてのシンボリックリンクをコピーする。

6.3 mv ファイル・ディレクトリの移動

 ファイルを移動します。ディレクトリ名を指定して、ディレクトリ間の移動を行うことにも使いますし、同一のディレクトリ内で、新ファイル名を指定することで、結果としてファイル名の rename としても使えます。
> mv [オプション] 既存ファイル名 新ファイル名
 主なオプションには、以下のものがあります。
オプション文字列 意味
-i もし新ファイル名と同名のファイルがある場合、 上書きするか問い合わせてくるようにする
-f もし新ファイル名と同名のファイルがあっても 問い合わせせず移動する
-r ディレクトリツリーごとコピーする

6.4 mkdir ディレクトリの作成

 ディレクトリを作成します。
> mkdir [オプション] ディレクトリ名

6.5 rmdir ディレクトリの削除

 ディレクトリを削除します。
> rmdir [オプション] ディレクトリ名

6.6 tar ファイル群の保管

 ファイル群を保管します。  本来は、tape archiverの略で、磁気テープにファイルを保管するのが目的で作られたコマンドですが、現在は、バックアップを取っておく時に使用します。
> tar [オプション] ファイル名 [ファイル名]
 オプションには、以下のものがあります。
オプション文字列 意味
-c 新しいアーカイブを作成して、指定されたファイルを アーカイブに書込む
-t アーカイブ内容をリスト表示する
-x アーカイブからファイルを抽出する
-v -c でアーカイブに書くファイルや -x でアーカイブから取り出すファイル名をリスト表示する
-z アーカイブを gzip でフィルタリングする
-f 指定されたファイルを読書きする
 この -z は、他の OS にはないようです。その場合は、一旦、.tar ファイルを作成してそのファイルを gzipcompress で圧縮して下さい。  その場合、戻す時は gunzip や uncompress で解凍した後、-x オプションで元に戻します。  このコマンドの使用方法を以下に例示しますので、参考にして下さい。
/home/a > ls -R b
c       d       e
/home/a > tar -cvzf b.tgz b
b/
b/c
b/d
b/e
/home/a > ls
b/      b.tgz
/home/a > tar -tvzf b.tgz
drwxr-xr-x user/user 0   2/ 8 12:21 2002 b/
-rw-r--r-- user/user 0   2/ 8 12:21 2002 b/c
-rw-r--r-- user/user 0   2/ 8 12:21 2002 b/d
-rw-r--r-- user/user 0   2/ 8 12:21 2002 b/e
/home/a > mv b.tgz ../z
/home/a > cd ../z
/home/z > tar -xvzf b.tgz
b/
b/c
b/d
b/e
/home/z > ls -R b
c       d       e
 おわかりいただけたでしょうか?

6.7 ln ファイルのリンク作成

 ファイルのリンクを作成します。リンクの作成には、ハードリンクとシンボリックリンクがあります。両者の違いは、ハードリンクはディレクトリ内のエントリを作成しているため、別のファイルシステムへのリンクを作成することは出来ないのに対し、シンボリックリンクは、パスを格納したファイルを作成するのでファイルシステムを越えてリンクできるということです。。
> ln 既存ファイル ファイル名
 既存のファイルに新しい名前(リンク)を作成します。
> ln 既存ファイル 既存ディレクトリ
 既存のファイルへのリンクを別ディレクトリに作成します。ファイル名は同じになります。
> ln -s 既存ファイル名または既存ディレクトリ名 ファイル名
 既存のファイルまたは、ディレクトリに対して、シンボリックリンクを作成します。シンボリックリンクは、ディレクトリに対してもリンクすることが出来ます。

6.8 chown ファイルのユーザID・グループIDを変更

 指定したファイルの、ユーザIDおよびグループIDを変更します。
> chown [オプション] オーナID[:グループID] [ファイル名]
 よく使うオプションとして、以下のものがあります。
オプション文字列 意味
-R 指定したファイル自身だけでなく、その ファイルをルートとする階層のファイルのユーザIDや グループIDを変更する