LoginSignup
5
2

More than 5 years have passed since last update.

ファイル名を書き換えてもLinuxのタイムスタンプが変わらない

Posted at

調べたのでメモ

ファイル名を書き換える

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はファイル名変更で更新されていることがわかる

参考

5
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
2