はじめに
LinuxやUnix系OSを使用していると、ファイルのタイムスタンプを変更したり、新しいファイルを作成したりする機会があります。
その際に便利なのがtouch
コマンドです。
本記事では、touch
コマンドの基本的な使い方やタイムスタンプの確認方法、便利なオプションについて詳しく解説します。
書こうと思ったきっかけ
ファイル管理を行っている際に、タイムスタンプを変更する方法を知りたいと感じることがありました。
また、touch
コマンドにはさまざまなオプションがあるため、基本的な使い方だけでなく応用的な使い方もまとめておくと便利だと考えました。
本記事を通じて、touch
コマンドの活用方法をより多くの人に知ってもらえればと思います。
touchコマンドとタイムスタンプの確認方法
touchコマンドとは
touch
コマンドは、LinuxやUnix系OSでファイルのタイムスタンプ(最終アクセス時間や最終更新時間)を変更するためのコマンドです。
また、指定したファイルが存在しない場合、新しく空のファイルを作成することもできます。
基本的な使い方
新しいファイルを作成する
touch filename.txt
指定したfilename.txt
が存在しない場合、新規に作成されます。すでに存在する場合は、タイムスタンプのみが更新されます。
タイムスタンプを確認する
ファイルのタイムスタンプを確認するには、ls -l
または stat
コマンドを使用します。
ls -l filename.txt
このコマンドでは、ファイルの最終更新時刻を確認できます。
stat filename.txt
このコマンドを使用すると、アクセス時間(Access)、修正時間(Modify)、変更時間(Change)などの詳細なタイムスタンプ情報を確認できます。
実際のターミナル画面
touchコマンドの主なオプション
1. タイムスタンプを特定の日時に変更する
touch -t YYYYMMDDhhmm filename.txt
例:
touch -t 202403121530 filename.txt
このコマンドは filename.txt
のタイムスタンプを 2024年3月12日 15:30 に設定します。
実際のターミナル画面
2. 参照ファイルのタイムスタンプをコピーする
touch -r reference.txt filename.txt
このコマンドは、reference.txt
のタイムスタンプを filename.txt
に適用します。
3. アクセス時間のみを変更する
touch -a filename.txt
このオプションを使用すると、アクセス時間(atime)のみが変更されます。
4. 更新時間のみを変更する
touch -m filename.txt
このオプションでは、更新時間(mtime)のみが変更されます。
5. 存在しないファイルを作成しない
touch -c filename.txt
このオプションを使用すると、filename.txt
が存在しない場合でも新規作成せずにスキップされます。
6. 現在時刻のタイムスタンプを変更せずに維持する
touch -d "YYYY-MM-DD HH:MM:SS" filename.txt
例:
touch -d "2024-03-12 15:30:00" filename.txt
このコマンドは、filename.txt
のタイムスタンプを指定した日時に設定します。
まとめ
touch
コマンドは、ファイルの作成だけでなく、タイムスタンプの変更にも便利なコマンドです。
stat
コマンドと組み合わせることで、詳細なタイムスタンプ情報を確認しながら管理できます。
用途に応じて適切なオプションを使いこなしましょう。