Linuxではファイルのタイムスタンプを変更するときに便利な「touch」コマンドがあります。
ここでは「touch」コマンドについて以下の内容で解説していきます。
この記事では「touch」コマンドについてわかりやすく解説していますので、ぜひ使い方を覚えておきましょう!
touchコマンドとは
「touch」コマンドはファイルのタイムスタンプを変更するときに使用します。
タイムスタンプとはファイルが持つ更新時刻などの情報で以下の3つのタイムスタンプがあります。
- atime:ファイルの最終アクセス日
- mtime:ファイルの最終更新日
- ctime:アクセス権の最終更新日
「touch」コマンドを使用すると、タイムスタンプのmtimeとctimeを更新することができます。
・「touch」コマンドの書式
$ touch ファイル名
ファイル名を指定すれば最終更新日を変更することが可能です。
touchコマンドの使い方
ここでは「touch」コマンドの使い方を見ていきましょう
タイムスタンプを変更する
ファイル名test.txtのタイムスタンプを変更するには、以下のように記述します。
$ touch test.txt
実行結果:
更新日が変更されていることがわかりますね!
複数ファイルを変更する
複数ファイルのタイムスタンプを変更するには、ファイル名を連続して指定すればOKです。
以下の例では「test01.txt」「test02.txt」のタイムスタンプをまとめて変更しています。
touch test01.txt test02.txt
実行結果:
ファイルを新規に作成する
ファイルを新規に作成する場合も「touch」コマンドでファイル名を指定すればOKです。
すでにファイルが存在する場合は、上で説明したように指定したファイルの更新日時が変更されます。
$ touch new.txt
実行結果:
このようにファイルnew.txtがサイズ0で作成されていることがわかりますね!
touchコマンドのオプション
以下はtouchコマンドで使用する主なオプションです。
オプション | 説明 |
---|---|
-a | アクセス日時のみを変更する |
-c | ファイルが存在しない場合はファイルを新規作成しない |
-t | 指定した日時で変更する |
-r | 他のファイルに日時をあわせる |
-cオプションでタイムスタンプのみを変更
タイムスタンプを変更することが目的で、誤って存在しないファイルを指定して新規作成されるのを防ぐためには「-c」オプションを使用します。
「-c」オプションを指定すれば、存在しないファイルを指定したファイルが作成されません。
$ touch -c new.txt
実行結果:
「-c」オプションを使用すればファイルが新規に作成されないことがわかりますね!
-tで指定した時刻に変更する
touchコマンドで現在時刻ではなく、指定した日時に変更したい場合は「-t」オプションを使用します。
たとえば、「YYYYMMDDHHmm.ss」形式で日時を変更したい場合は以下のように記述します。
$ touch -t 201804011200.00 new.txt
実行結果:
指定した日時でタイムスタンプが変更されていることがわかりますね!
Linuxについてもっと知りたい方へ
そもそもLinuxについて、
「実はなんとなくしか理解していない…」
「Linuxを効率よく学習する方法が知りたい」
といった情報を知りたい方は、以下の記事も参考にしてみてくださいね!
まとめ
ここでは、Linuxでファイルのタイムスタンプを変更する「touch」コマンドについて、
- touchコマンドとは
- touchコマンドの使い方
- touchコマンドのオプションと使い方
について解説しました。
ソースファイルなどを指定した更新日に合わせるときなどに「touch」コマンドを使用することはよくありますので使い方はよく理解しておきましょう。
もし、touchコマンドの使い方を忘れてしまったら、この記事を参考にしてくださいね。