ブログ

ファイルを作成・タイムスタンプの更新をする方法

at_shiita.ishigaki
2022年3月10日 13時42分

ファイルの作成やタイムスタンプの更新を行うにはtouchコマンドを使用します。
※以下では例として、testというファイルを作成します。

[armadillo ~]# touch test
[armadillo ~]# ls
test

存在するファイル名を指定することでタイムスタンプを更新することができます。
-aオプションを使用することで、Access、Changeの日時のみ変更することができます。

[armadillo ~]# stat test 
  File: test
  Size: 0               Blocks: 0          IO Block: 4096   regular empty file
Device: b5h/181d        Inode: 273088      Links: 1
Access: (0644/-rw-r--r--)  Uid: ( 1000/  atmark)   Gid: ( 1000/  atmark)
Access: 2022-03-10 04:48:02.882054700 +0000
Modify: 2022-03-10 04:48:02.882054700 +0000
Change: 2022-03-10 04:48:02.882054700 +0000
 Birth: -
[armadillo ~]# touch -a test # -aオプションを使用
[armadillo ~]# stat test
  File: test
  Size: 0               Blocks: 0          IO Block: 4096   regular empty file
Device: b5h/181d        Inode: 273088      Links: 1
Access: (0644/-rw-r--r--)  Uid: ( 1000/  atmark)   Gid: ( 1000/  atmark)
Access: 2022-03-10 04:48:21.122054700 +0000
Modify: 2022-03-10 04:48:02.882054700 +0000
Change: 2022-03-10 04:48:21.122054700 +0000
 Birth: -
[armadillo ~]# touch test # オプション未使用
[armadillo ~]# stat test
  File: test
  Size: 0               Blocks: 0          IO Block: 4096   regular empty file
Device: b5h/181d        Inode: 273088      Links: 1
Access: (0644/-rw-r--r--)  Uid: ( 1000/  atmark)   Gid: ( 1000/  atmark)
Access: 2022-03-10 05:19:12.572054700 +0000
Modify: 2022-03-10 05:19:12.572054700 +0000
Change: 2022-03-10 05:19:12.572054700 +0000
 Birth: -

-mオプションを使用することで、Modify、Changeの日時のみ変更することができます。

[armadillo ~]# touch -m test #-mオプション使用
[armadillo ~]# stat test
  File: test
  Size: 0               Blocks: 0          IO Block: 4096   regular empty file
Device: b5h/181d        Inode: 273088      Links: 1
Access: (0644/-rw-r--r--)  Uid: ( 1000/  atmark)   Gid: ( 1000/  atmark)
Access: 2022-03-10 05:19:12.572054700 +0000
Modify: 2022-03-10 05:23:01.272054700 +0000
Change: 2022-03-10 05:23:01.272054700 +0000
 Birth: -

-tオプションを使用することで指定した日時でタイムスタンプを変更することができます。
※以下では例として、2010年5月1日12時34分56秒にタイムスタンプを変更します。

touch -t 201005011234.56 test
atmark@587e2063261f:~$ stat test 
  File: test
  Size: 0               Blocks: 0          IO Block: 4096   regular empty file
Device: b5h/181d        Inode: 273088      Links: 1
Access: (0644/-rw-r--r--)  Uid: ( 1000/  atmark)   Gid: ( 1000/  atmark)
Access: 2010-05-01 12:34:56.000000000 +0000
Modify: 2010-05-01 12:34:56.000000000 +0000
Change: 2022-03-10 05:28:52.532054700 +0000
 Birth: -

ファイルを作成しない場合は、-cオプションを使用します。

[armadillo ~]# touch -c test2
[armadillo ~]# ls
test