ファイル名を書き換えてもLinuxのタイムスタンプが変わらない
調べたのでメモ
ファイル名を書き換える
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はファイル名変更で更新されていることがわかる
Author And Source
この問題について(ファイル名を書き換えてもLinuxのタイムスタンプが変わらない), 我々は、より多くの情報をここで見つけました https://qiita.com/three_0_3/items/a12266553abff35a1be5著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .