タッチコマンドはLinuxコマンドで、主に空のファイルを作成したり、ファイルやフォルダのタイムスタンプを変更したりするために使用されます。ファイルのタイムスタンプ情報は、アクセス時間、変更時間、変更時間の3つの属性で構成されています。
このチュートリアルでは、便利な例を示しながら、Linux touchコマンド、そのオプション、および使用法について説明します。
Linuxのタイムスタンプとは
Linuxでは、すべてのファイルとフォルダにタイムスタンプが関連付けられており、ファイルのコンテンツまたはその属性がいつ変更されたかに関する情報を提供します。タイムスタンプには次の3つのタイプがあります。
- アクセス時間(atime)–ファイルが最後に読み取られた時間
- 変更時間(mtime)–ファイルのコンテンツが最後に変更された時刻。アクセス時間と同様に、ファイルステータスメタデータの一部でもあります
- 変更時刻(ctime)–ファイルのメタデータが最後に変更された時刻(権限など)
atimeとmtimeはファイルのステータスメタデータの一部であるため、ファイルのatimeまたはmtimeを変更すると、ctimeが自動的に現在の時刻に設定されます。 ctimeを手動で設定または変更する方法はありません。 Linux touchコマンドは、主に、以下に説明するさまざまなオプションを使用して、ファイルのアクセス時間と変更時間を操作するために使用されます。 touchコマンドを使用する前に、SSHを使用してVPSにアクセスする必要があることを忘れないでください!
Linuxタッチコマンド構文
touchコマンドの構文は次のとおりです。
touch [options] [file_name]
次のセクションでは、各オプションを含めて、Linuxtouchコマンドの使用法を示します。
オプションなしのtouchコマンドは、新しいファイルを作成します。ファイルが存在する場合、touchコマンドは、その内容を変更せずに、アクセスと変更を現在の時刻に更新します。
touch file_name.txt
1回のタッチコマンドで複数のファイルを作成することも可能です。これを行うには、ファイルの名前をスペースで指定します。コマンドラインでは次のようになります:
touch file_name1.txt file_name2.txt file_name3.txt
次の例のように、複数のファイルを作成しながら、中括弧を使用してファイル名を自動生成できます。
touch file_name{1..3}.txt
上記のtouchコマンドは、 file_name1.txtという名前の3つのファイルを作成します 、 file_name2.txt、 およびfile_name3.txt 。
ファイルのアクセス時刻を現在の時刻に変更するには、 aを使用します 次の例のように、オプションの後にtouchコマンドでファイル名を入力します。
touch -a file_name.txt
m オプションとtouchコマンドを併用すると、ファイルの変更時刻が現在の時刻に変更されます。
touch -m file_name1.txt
1つのコマンドでアクセス時間と変更時間の両方を変更するには、オプション aを使用します およびm 一緒に:
touch -am file_name1.txt
状況によっては、実際に新しいファイルを作成せずに、既存のファイルのアクセスおよび変更時刻を現在の時刻に変更したい場合があります。これを行うには、 cを使用します オプションの後にタッチコマンドでファイル名を入力します。
touch -c file_name.txt
t を使用して、ファイルのアクセス時刻と変更時刻を特定の日付に設定することもできます。 オプションの後に日時が続きます。次のようになります:
touch -t 201903081047.30 file_name.txt
日時の形式はCCYYMMDDhhmm.ssである必要があります ここで:
- MM –その年の月[01-12]
- DD –月の日[01-31]
- hh –その日の時間[00-23]
- mm –時間の分[00-59]
- CC –年の最初の2桁
- YY –年の2桁目
- SS –分の秒[00-59]
Linux touchコマンドでシンボリックリンクされたファイル名を使用すると、元のファイル、つまりリンクファイルが指すファイルのタイムスタンプ情報が変更されます。シンボリックリンクされたファイルのアクセス時刻と変更時刻を現在の時刻に変更するには、 hを使用します オプション:
touch -h symbolic_link_file
Linux touchコマンドは、別のファイルからタイムスタンプ情報を読み取ることにより、ファイルのアクセス時間と変更時間を設定することもできます。たとえば、 rを使用した次のタッチコマンド オプションは、 reference.txtからタイムスタンプ情報をスキャンします これらのタイムスタンプ値をfile_name.txtに設定します 。コマンドの例を次に示します。
touch -r reference.txt file_name.txt
d を使用して、日付と時刻を文字列として指定することもできます オプション。次のLinuxtouchコマンドの例では、日付が3月8日に設定され、時刻が自動的に00:00に設定されます
。touch -d '8 Mar' file_name.txt
日付を文字列として指定する代わりに、時刻を文字列として指定できます。その場合、日付は自動的に現在の日付に設定されます:
touch -d '20:10' file_name.txt
このチュートリアルでは、最も一般的なオプションを含めて、Linuxtouchコマンドの使用法について説明します。 Linux touchコマンドに関連する問題については、ターミナルでマニュアルページを呼び出すことができます!