よく使うLinuxコマンド

touch - サーバー運営上必要なコマンド

ファイルの最終アクセス日時と最終更新日時を変更する

■よく使う形(例)

※ファイルの最終アクセス日時を現在の時刻にする。

# ls -l

-rw-r--r-- 1 www www 15709 Nov 7 2006 index2.html

# touch -a index2.html

# ls -l

-rw-r--r-- 1 www www 15709 Apr 9 10:12 index2.html

この例の場合は、ディレクトリwwwの下の2ファイルが、圧縮されて一つのファイル(bkuop.tar.gz)にまとめられたことになる。
ディレクトリを絶対パスで記述した場合は、展開時も絶対パスの位置にファイルが展開されるが、相対パスでのしていの場合は、カレントディレクトリに展開される。

※index2.htmlの更新日時をindex.htmlのそれに揃える。

# ls -l
-rw-r--r-- 1 www www 15954 Mar 13 2007 index.html
-rw-r--r-- 1 www www 15709 Nov 7 2006 index2.html

# touch -mr index.html index2.html

# ls -l
-rw-r--r-- 1 www www 15954 Mar 13 2007 index.html

-rw-r--r-- 1 www www 15709 Mar 13 2007 index2.html

※空ファイルを作成する。

# touch empty.html

# ls -lp
-rw-r--r-- 1 www www 0 Apr 9 10:12 empty.html

ファイルの更新日時やアクセス日時を変更するときに使うコマンドです。 普段はほとんど必要ありませんが、お客さんのマシンにソフトウェアを納品した際、ファイル群の日時をそろえておくと、後々管理がやり易いという点があります。

後は、不正侵入したときに、日付を改ざんするとか...。(これは冗談です。)

また、空ファイルの作成にもtouchコマンドを使ったりしますが、 このコマンドでなくても空ファイルは作れるので、あまりこの方法は使わないかもしれません。(管理者の好き好きです。)

■主なオプション

オプション 機能説明
-a 最終アクセス日時を現在の日時に変更する。
-c ファイルが存在しない場合は、空ファイルを作成しない。
-m 最終更新日時を現在の日時に変更する。
-r 指定したファイルと同じ更新日時に揃える。 更新するファイルの前に参照したいファイルを指定。
-t 指定した日時に変更する。 (XX(YY))MMDDhhmm(SS)
その他、オプションは多数ありますが、専門のコマンドリファレンスやmanコマンド等でご確認下さい。