Linux の「Touch」コマンドの 8 つの実践例
Linux ではすべての単一ファイルがタイムスタンプに関連付けられ、すべてのファイルに最終アクセス時刻、最終変更時刻、および最終変更時刻の情報が保存されます。したがって、新しいファイルを作成したり、既存のファイルにアクセスしたり変更したりすると、そのファイルのタイムスタンプが自動的に更新されます。
この記事では、Linux のタッチ コマンドの便利な実践例をいくつか取り上げます。 touch コマンドはUnix/Linuxオペレーティング システムの標準プログラムで、ファイルのタイムスタンプを作成、変更、修正するために使用されます。
タッチコマンドの例に進む前に、次のオプションを確認してください。
タッチコマンドオプション
- -a、アクセス時間のみを変更します
- -c: ファイルが存在しない場合は作成しません。
- -d、アクセス時間と変更時間を更新します。
- -m、変更時間のみを変更します
- -r、ファイルのアクセス時間と変更時間を使用します。
- -t は、指定された時間を使用してファイルを作成します
1. 空のファイルを作成する方法
次のtouch コマンドは、sheena という名前の空の (ゼロバイト) 新しいファイルを作成します。
touch sheena
2. 複数のファイルを作成する方法
タッチ コマンドを使用すると、複数の単一ファイルを作成することもできます。たとえば、次のコマンドは、sheena、meena、および leena という名前の 3 つのファイルを作成します。
touch sheena meena leena
3. ファイルアクセスと変更時刻を変更する方法
leena というファイルの最終アクセス時刻と変更時刻を変更または更新するには、次のように -a オプションを使用します。次のコマンドは、ファイルの現在の時刻と日付を設定します。 leena ファイルが存在しない場合は、その名前で新しい空のファイルが作成されます。
touch -a leena
find コマンドや ls コマンドなどの最も一般的な Linux コマンドは、ファイルの一覧表示と検索にタイムスタンプを使用します。
4. 新しいファイルの作成を避ける方法
touch コマンドで -c オプションを使用すると、新しいファイルの作成を回避できます。たとえば、次のコマンドは、leena というファイルが存在しない場合は作成しません。
touch -c leena
5. ファイル更新時刻を変更する方法
leena というファイルの唯一の変更時刻を変更したい場合は、touch コマンドで -m オプションを使用します。ファイルの最終変更時刻 (アクセス時刻ではない) のみが更新されることに注意してください。
touch -m leena
6. アクセス時間と変更時間を明示的に設定する
touch コマンドの -c および -t オプションを使用して時刻を明示的に設定できます。形式は次のようになります。
touch -c -t YYDDHHMM leena
たとえば、次のコマンドは、ファイル leena へのアクセスおよび変更日時を 17:30 (午後 17:30) に設定します。今年 (2020 年) の12 月 10 日。
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 ファイルに 午後 18 時 30 分 55 秒のタイムスタンプを与えます。 2020 年12 月 10 日に。
touch -t 202012101830.55 tecmint
touch コマンドで使用できるオプションをほぼすべてカバーしました。さらに多くのオプションについては「man touch」を使用します。まだオプションが不足していて、このリストに含めたい場合は、コメント ボックスから最新情報をお知らせください。