調べたのでメモ
ファイル名を書き換える
17:28 $ls -l
合計 4
-rw-rw-r--. 1 vagrant vagrant 4 12月 8 17:28 2017 hoge
17:29 $mv höge fuga
17:29 $ls -l
合計 4
-rw-rw-r--. 1 vagrant vagrant 4 12月 8 17:28 2017 fuga
17:28にファイルを作成、17:29にファイル名を変更しても
タイムスタンプは17:28のまま
理由は以下のとおり
Linuxのタイムスタンプ3種類
Linuxのタイムスタンプには以下の3つがある
- atime
ファイルを最後に読み込んだ時刻 - mtime
ファイルに最後に書き込みした時刻 - ctime
ファイルステータスを最後に変更した時刻
"ls -l"で表示されるのはmtimeである。
そしてファイル名変更は「ファイルへの書き込み」ではなく「ファイルステータスの変更」に当たるため、mtimeは更新されなかった
ctimeを表示すると
cオプションでタイムスタンプをctimeに
17:47 $ls -lc
合計 4
-rw-rw-r--. 1 vagrant vagrant 4 12月 8 17:47 2017 hoge
17:48 $mv hoge fuga
17:48 $ls -lc
合計 4
-rw-rw-r--. 1 vagrant vagrant 4 12月 8 17:48 2017 fuga
このように、ctimeはファイル名変更で更新されていることがわかる