Linux - touchでファイルを作成し、ファイルの日付/時刻を変更する

Linux(Ubuntu)でtouchコマンドで新しいファイルを作成したり、既存のファイルの日付と時刻の情報を変更したりする方法を紹介します。

  • touch命令でファイルを生きる
  • ファイルの日付/時刻情報の変更
  • 他のファイルの時刻と同じ時刻、日付情報の変更
  • 現在時刻でファイルの日付情報を変更する

1. touch命令でファイルを生成する

touch [file name]コマンドは、入力した名前で空のファイルを生成します。ファイルの時刻は現在時刻に設定されます。

$ touch myfile

$ ll --time-style full-iso
-rw-rw-r-- 1 js js    0 2022-02-03 17:08:59.977292370 +0900 myfile

空のファイルであるため、cat命令でファイルを出力すると、何も出力されません。

$ cat myfile

2. ファイルの日付/時刻情報の変更

touchで既存のファイルの時刻/日付情報を変更することもできます。

touch -t [datetime(YYYYMMDDhhmm)] [file name] で設定した時間でファイルの時間を変更します。

$ touch -t 199912121640 myfile

$ ll --time-style full-iso
-rw-rw-r-- 1 js js    0 1999-12-12 16:40:00.000000000 +0900 myfile

3. 他のファイルの時刻と同じように時刻、日付情報の変更

Aファイルの日付情報をBファイルと日付と同じに変更したい場合は、 touch -r [A filename] [B filename]コマンドを使用できます。

myfile2の日付情報はmyfileの日付に変更されます。コマンドを使用する前にmyfile2ファイルが存在しない場合はファイルを生成し、ファイルが存在する場合は時間情報のみを変更します。

$ touch -r myfile myfile2

$ ll --time-style full-iso
-rw-rw-r-- 1 js js    0 2022-02-03 16:55:31.561339071 +0900 myfile
-rw-rw-r-- 1 js js    0 2022-02-03 16:55:31.561339071 +0900 myfile2

4. 現在時刻でファイルの日付情報を変更する

現在時刻でファイルの日付情報を変更できます。

以下のコマンドを入力すると、myfileの日付は現在時刻に変更されます。

$ touch -c myfile

$ ll --time-style full-iso
-rw-rw-r-- 1 js js    0 2022-02-03 16:55:31.561339071 +0900 myfile
codechachaCopyright ©2019 codechacha