Linuxのtouchコマンドは、これまで新規ファイルを作成する際に使っていたのだが、実はファイルの最終更新日時を変更することが本来の使い方だということを最近知った。

簡単にtouchコマンドの使い方についておさらいしておくと、以下のようにファイル名を続けて入力することで、ファイルを作成することができる。

touch fileName

指定したファイル名と同名のファイルが存在しなければ新規ファイルを作成して終わるのだが、同名のファイル名があった場合、そのファイルの最終更新日時が現在日時に置き換わる。

このtouchコマンドを利用することで、既に存在するファイルのタイムスタンプを、指定した日時に更新することも可能だ。

例えば、タイムスタンプを2021年1月1日 23時45分に更新したい場合は次のとおり。

touch -t 202101012345 fileName

-tオプションでタイムスタンプを以下の書式で指定する。

[[CC]YY]MMDDhhmm[.ss]

※MMDDhhmmの部分は必須