ファイルやディレクトリのタイムスタンプの変更

ファイルやディレクトリのタイムスタンプを変更するには touch コマンドが使えます。 存在しないファイル名を指定すると、現在のタイムスタンプで空のファイルが作成されます

それでは、さっそく試してみましょう。

$ ls #現状を確認。ファイルが無い
$ touch file1
$ ls -l
total 0
-rw-rw-r-- 1 user1 user1 0 Apr 14 21:07 file1 #ファイルが作成された

特に指定しない限り、タイムスタンプは現在に変更されます。

タイムスタンプを任意の時刻に指定するには -t オプションに、 時刻を yyyyMMddHHmm 形式で渡します。

$ touch -t 200101021015 file1
$ ls -l
total 0
-rw-rw-r-- 1 user1 user1 0 Jan  2  2001 file1 #タイムスタンプが変わった

全体的に言えることではありますが、省略可能な部分もあります。詳しくはヘルプ等をみてください。

タイムスタンプを任意の日付に指定するには -d オプションに日付を表す文字列を渡します。 日付は次のように yyyyMMdd で指定できます。

$ touch -d 20101112 file1
$ ls -l
total 0
-rw-rw-r-- 1 keisukeo keisukeo 0 Nov 12  2010 file1

-d オプションは次のような可読な文字列も受けとります。

$ touch -d "last friday" file1

新規ファイルを作成したくない場合は -c オプションを指定します。

$ touch -c file2
$ ls
file1 #file2 は作成されていない

以上、touch コマンドの基本的な使用方法を説明しました。

ここまでお読みいただき、誠にありがとうございます。SNS 等でこの記事をシェアしていただけますと、大変励みになります。どうぞよろしくお願いします。

© 2024 Linux 入門