基本コマンドtouch

touchコマンドとは?

LinuxやUnix系のシステムで使用される「touch」コマンドは、主にファイルの作成やタイムスタンプの変更に使用されます。「touch」コマンドの基本的な使い方から、便利なオプションまでを詳しく解説します。

基本的な使い方

「touch」コマンドの最も基本的な使い方は、新しい空のファイルを作成することです。ファイルがすでに存在する場合、そのファイルのタイムスタンプ(アクセス時間と修正時間)を現在の時刻に更新します。

$ touch filename

上記のコマンドを実行すると、「filename」という名前のファイルが作成されます。すでに存在する場合は、そのタイムスタンプが更新されます。

よく使われるオプション

1. 特定のタイムスタンプを設定する (-t)

ファイルのタイムスタンプを特定の日時に設定するには、「-t」オプションを使用します。日時は「[[CC]YY]MMDDhhmm[.ss]」形式で指定します。

$ touch -t 202307141200.30 filename

このコマンドは、「filename」のタイムスタンプを2023年7月14日12時00分30秒に設定します。

2. 参照ファイルのタイムスタンプをコピーする (-r)

別のファイルのタイムスタンプをコピーして設定するには、「-r」オプションを使用します。

$ touch -r referencefile filename

このコマンドは、「referencefile」のタイムスタンプを「filename」にコピーします。

3. 存在しないファイルを作成しない (-c)

ファイルが存在しない場合、新しいファイルを作成せずにタイムスタンプの変更のみを試みたい場合は、「-c」オプションを使用します。

$ touch -c filename

このコマンドは、ファイルが存在しない場合は何もせずに終了します。

4. アクセス時間のみを変更する (-a)

ファイルのアクセス時間のみを変更するには、「-a」オプションを使用します。

$ touch -a filename

このコマンドは、「filename」のアクセス時間のみを現在の時刻に更新します。

5. 修正時間のみを変更する (-m)

ファイルの修正時間のみを変更するには、「-m」オプションを使用します。

$ touch -m filename

このコマンドは、「filename」の修正時間のみを現在の時刻に更新します。

カスタマイズされた使用例

複数のオプションを組み合わせることで、より柔軟な操作が可能になります。例えば、特定の日時にアクセス時間と修正時間を設定しつつ、新しいファイルを作成しないようにするには、以下のようにします。

$ touch -c -t 202307141200.30 -a -m filename

このコマンドは、「filename」が存在する場合のみ、そのファイルのアクセス時間と修正時間を2023年7月14日12時00分30秒に設定します。

まとめ

「touch」コマンドは、Linuxシステムにおいて非常に便利で多用途なコマンドです。基本的なファイル作成から、詳細なタイムスタンプの設定まで、多様なオプションを駆使することで、さまざまなシナリオに対応できます。特に「-t」や「-r」などのオプションは、特定の状況下で非常に役立つため、ぜひ覚えておきましょう。

「touch」コマンドをマスターすることで、ファイルの管理や操作が一層効率的になります。ぜひ、いろいろなオプションを試してみてください。