Linuxでは、すべてのファイルがタイムスタンプに関連付けられており、各ファイルは最終アクセス時間、最終変更時間、および最終変更時間の情報を保存しています。したがって、新しいファイルを作成し、既存のファイルにアクセスまたは変更を加えるたびに、そのファイルのタイムスタンプが自動的に更新されます。

この記事では、Linux touchコマンドのいくつかの有用な実践的な例をカバーします。 touchコマンドは、ファイルのタイムスタンプを作成、変更、および変更するために使用される、Unix/Linuxオペレーティングシステムの標準プログラムです。
touchコマンドの例に進む前に、次のオプションをご確認ください。
Touchコマンドのオプション
- -a、アクセス時間のみを変更します
- -c、ファイルが存在しない場合は作成しません
- -d、アクセスおよび変更時間を更新します
- -m、変更時間のみを変更します
- -r、ファイルのアクセスおよび変更時間を使用します
- -t、指定された時間を使用してファイルを作成します
1. 空のファイルを作成する方法
次のtouchコマンドは、sheenaという名前の空の(ゼロバイト)新しいファイルを作成します。
# touch sheena
2. 複数のファイルを作成する方法
touchコマンドを使用すると、単一のファイル以上を作成することもできます。例えば、次のコマンドは、sheena、meena、およびleenaという名前の3つのファイルを作成します。
# touch sheena meena leena
3. ファイルのアクセスと変更時間を変更する方法
ファイルの最終アクセスと変更時刻を変更または更新するには、次のようにleenaという名前のファイルに-aオプションを使用します。次のコマンドは、ファイルに現在の時刻と日付を設定します。もしleenaファイルが存在しない場合、新しい空のファイルが名前で作成されます。
# touch -a leena
最も一般的なLinuxコマンドであるfindコマンドやlsコマンドは、ファイルの一覧表示や検索にタイムスタンプを使用します。
4. 新しいファイルの作成を回避する方法
touchコマンドに-cオプションを組み合わせると、新しいファイルの作成を回避できます。例えば、次のコマンドは、存在しない場合にleenaという名前のファイルを作成しません。
# touch -c leena
5. ファイルの変更時間の変更
leenaという名前のファイルの唯一の変更時間を変更したい場合は、-mオプションをtouchコマンドとともに使用してください。これにより、ファイルの最終変更時刻(アクセス時刻ではなく)のみが更新されます。
# touch -m leena
6. アクセス時刻と変更時刻の明示的な設定
touchコマンドと-tオプションを使用して、時間を明示的に設定できます。形式は以下のようになります。
# touch -c -t YYDDHHMM leena
たとえば、次のコマンドは、現在の年2020の12月10日に、ファイルleenaのアクセス時刻と変更時刻を17:30(17:30 p.m)に設定します。
# touch -c -t 12101730 leena
次に、ls -lコマンドでファイルleenaのアクセス時刻と変更時刻を確認します。
# ls -l total 2 -rw-r--r--. 1 root root 0 Dec 10 17:30 leena
7. 他のファイルのタイムスタンプを使用する方法
-rオプションを使用した以下のtouchコマンドは、ファイルmeenaのタイムスタンプをleenaファイルのタイムスタンプに更新します。これにより、両方のファイルが同じタイムスタンプを持ちます。
# touch -r leena meena
8. 指定された時間を使用してファイルを作成する
現在の時間以外の指定された時間でファイルを作成したい場合は、以下の形式を使用する必要があります。
# touch -t YYMMDDHHMM.SS tecmint
たとえば、以下の-tオプションを使用したtouchコマンドは、tecmintファイルに12月10日の18:30:55 p.mのタイムスタンプを与えます。2020。
# touch -t 202012101830.55 tecmint
Touchコマンドで利用可能なオプションのほぼすべてを網羅しています。さらなるオプションを利用するには、「man touch」を参照してください。もしまだリストに含まれていないオプションがあり、それをリストに追加したい場合は、コメントボックスを通じて更新してください。
Source:
https://www.tecmint.com/8-pratical-examples-of-linux-touch-command/