「touch」は、空のファイルを作成したり、ファイルのタイムスタンプ(ファイルへのアクセスや修正の最終日時)を変更したりするLinuxの基本コマンドです。
touch コマンドは日常的に非常に便利で、テスト用の空のファイルを作成してファイルの転送をテストするのに役立ちます。ダミーのファイルを作成して好きなことができる機能があれば、いつでも役立ちます。たとえば、ファイルと直接対話する Linux コマンドをテストする場合、wipe、srm、または shred などのコマンドでは、実際のファイルを試したくありません。
既存のファイルの名前で touch コマンドを使用する場合、touch は新しいファイルを作成しませんが、ファイルのタイムスタンプを更新します。
Linux のファイルには、atime、mtime、ctime という 3 つのタイムスタンプがあります。
atime: atime には、ファイルの内容を表示するツールやコマンド (less、nano、vi、vim、cat、grep、head など) で、ファイルの内容がいつ読み込まれたかという情報が含まれています。
mtime: mtimeは、ファイル名を含むファイルの内容の最終更新日を示しますが、所有者やパーミッションは表示されません。
ctime: mtimeと同様にctimeもファイルの更新日を示しますが、ファイルの所有者、グループ、パーミッションが変更された場合に更新されます。 atime と mtime は編集できますが、ctime は編集できません。ファイルのパーミッションが編集されたとき、またはファイルが実際に読み込まれたり変更されたりしたときに時刻が更新されます
atime タイムスタンプの編集。
ファイルのタイムスタンプを見る前に、次のように入力してタイムスタンプを作成してみましょう。
$ ls
LinuxHintEmptyFile
ここでは。
touch = LinuxHintEmptyFIleという空のファイルを作成する
ls = ディレクトリ内のファイルを一覧表示する
さて、ファイルのタイムスタンプをターミナルタイプで見るには
statというコマンドは、アクセス許可、最終アクセス(atime)、最終修正(mtime)、最終変更(ctime)を表示します。
ファイルが最近作成された日時は同じなので、ファイルのパーミッションを変更してstatの出力の違いを見てみましょう:
ここで:
Chmod -777: ファイルLinuxHintEmptyFileのパーミッションをすべて削除します。
stat: ファイルのタイムスタンプを表示します
上の画像では、ctime(Change)が更新されているのがわかります。
さて、ファイルのatimeを1/2/99に編集してみましょう。タイプ:
日付のアクセスタイプも変更したい場合は、次のようにします。
mtimeのタイムスタンプを編集する:
mtimeを編集する構文も同じで、ctimeを1989.02.01 タイプ:
これで、修正日が更新されたことがわかりますが、同様に時間も更新するには atime タイプ:
さて、2 番目のファイルを作成し、touch コマンドを使用して 2 番目のファイルのタイム スタンプをコピーしてみましょう。
2019-05-15 00:02:14にaccess,modified,changedされたファイルがあるので、ファイルのタイムスタンプをLinuxHintEmptyFile型からコピーします:
今見たように、両方のファイルが同じタイムスタンプを共有しています。
すべてのタイムスタンプを現在の時刻に変更したい場合は、「touch」と入力するだけです:
2番目のstatは、touchコマンド後に更新されたatime、mtime、ctimeを示しています。
このチュートリアルが、touchコマンドの入門編としてお役に立てれば幸いです。 今後もLinuxHintをフォローして、Linuxの最新情報をお届けします。