7. ファイル操作コマンド

 
7.1 touch ファイルの時刻情報更新・空ファイルの作成
7.2 rm ファイル・ディレクトリの削除
7.3 file ファイルのタイプを表示
7.4 tar ファイル群の保管
7.5 gzip ファイル圧縮
7.6 compress ファイル圧縮
7.7 df ディスクの空き容量・ファイルシステムの情報表示

7.1 touch ファイルの時刻情報更新・空ファイルの作成

 ファイルの時刻情報更新・空ファイルの作成を行います
> touch  [オプション] [日時] ファイル名
 オプションには、以下のものがあります。
オプション文字列 意味
-a ファイルのアクセス時刻を変更する
-m ファイルの修正時刻を変更する
 日時は、以下の形式で指定します。
[[CC]YY]MMDDhhmm[.SS]
 ファイルが存在しない場合、そのファイル名のファイルを空のファイルとして新規作成します。

7.2 rm ファイル・ディレクトリの削除

 ファイル(リンク)を削除します。
> rm [オプション] ファイル名
 オプションには、以下のものがあります。
オプション文字列 意味
-i ファイルを削除する前に確認を求める
-R ファイルをディレクトリツリーごと削除する
-f ファイルのパーミッションを無視して削除する

7.3 file ファイルのタイプを表示

 ファイルの種類を表示します。  ファイルの中身がわからないとき、むやみに cat などのコマンドを使用して表示するとオブジェクトファイルや実行モジュールだったりすると、文字化けをおこして、端末が動作しなくなったりすることがあります。事前にこのコマンドを使用しておけば、ファイルの種類がわかるので便利です。
> file [オプション] ファイル名
 実際に使ったものを例示します。
> file test.c
test.c: C program text
> file test
test: ELF 32-bit LSB executable, Intel 80386, version 1 (FreeBSD), dynamically linked, not stripped

7.4 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
 おわかりいただけたでしょうか?

7.5 gzip ファイル圧縮

 ファイルを圧縮します。
> gzip ファイル名
 圧縮するとファイル名は、ファイル名.gz になります。  解凍する時は、
> gunzip ファイル名.gz
 です。
> ls -l
total 2
-rw-r--r--  1 user  user  1408   2/ 8 12:42 a.txt
> gzip a.txt
> ls -l
total 1
-rw-r--r--  1 user  user  49   2/ 8 12:42 a.txt.gz
> gunzip a.txt.gz
> ls -l
total 2
-rw-r--r--  1 user  user  1408   2/ 8 12:42 a.txt
 とまあ、こんな具合です。

7.6 compress ファイル圧縮

 ファイルを圧縮します。
> compl ファイル名
 圧縮するとファイル名は、ファイル名.Z になります。  解凍する時は、
> gunzip ファイル名.Z
 です。
> ls -l
total 2
-rw-r--r--  1 user  user  1408   2/ 8 12:42 a.txt
> compress a.txt
> ls -l
total 1
-rw-r--r--  1 user  user  196   2/ 8 12:42 a.txt.Z
> uncompress a.txt.Z
> ls -l
total 2
-rw-r--r--  1 user  user  1408   2/ 8 12:42 a.txt

7.7 df ディスクの空き容量・ファイルシステムの情報表示

 ディスクの空容量・ファイルシステムの情報を表示します。
> df
Filesystem  1K-blocks     Used    Avail Capacity  Mounted on
/dev/ad0s1a   1213199   262222   853922    23%    /
/dev/ad1s1f   9307118  4125382  4437167    48%    /usr
/dev/ad1s1e   8130540    40432  7439665     1%    /var
procfs              4        4        0   100%    /proc
 ここで、Filesystem はディスクのパーティション、1K-blocks はそのパーティションに何ブロックの領域が割り当てられているか(かつこの場合 1ブロックは 1Kbyteです)、Used はそのパーティションのうち何ブロックが使用済みか、Avail はあと何ブロック使用可能か、Capacity は領域のうち何パーセントが使用済みであるか、Mounted on はパーティションに割り当てられた名前は何かを示しています。  よく使うオプションとして、以下のものがあります。
オプション文字列意味
-k 1Kバイト 1ブロックで表示します
-m 1Mバイト 1ブロックで表示します
-g 1Gバイト 1ブロックで表示します
-H 単位を表示し 1ブロックを 4桁以内で表示します
> df -k
Filesystem  1024-blocks     Used    Avail Capacity  Mounted on
/dev/ad4s1a    20308398   493324 18190404     3%    /
devfs                 1        1        0   100%    /dev
/dev/ad4s1d    50777034   772452 45942420     2%    /home
/dev/ad4s1f   112613630 15227328 88377212    15%    /usr
/dev/ad4s1e    50777034  2069206 44645666     4%    /var
> df -m
Filesystem  1M-blocks  Used Avail Capacity  Mounted on
/dev/ad4s1a     19832   481 17764     3%    /
devfs               0     0     0   100%    /dev
/dev/ad4s1d     49586   754 44865     2%    /home
/dev/ad4s1f    109974 14870 86305    15%    /usr
/dev/ad4s1e     49586  2020 43599     4%    /var
> df -g
Filesystem  1G-blocks Used Avail Capacity  Mounted on
/dev/ad4s1a        19    0    17     3%    /
devfs               0    0     0   100%    /dev
/dev/ad4s1d        48    0    43     2%    /home
/dev/ad4s1f       107   14    84    15%    /usr
/dev/ad4s1e        48    1    42     4%    /var
> df -H
Filesystem     Size    Used   Avail Capacity  Mounted on
/dev/ad4s1a     20G    505M     18G     3%    /
devfs          1.0k    1.0k      0B   100%    /dev
/dev/ad4s1d     52G    791M     47G     2%    /home
/dev/ad4s1f    115G     15G     90G    15%    /usr
/dev/ad4s1e     52G    2.1G     45G     4%    /var
 ディスク容量の単位は今までに頻繁に変わってきました。-H オプションはありがたいです。