Linux上のどのファイルシステムが作成時間を保存しますか?


32

Linuxには、iノードテーブルにファイルとディレクトリの作成時間を保存する(よく知られた、信頼できる)ファイルシステムがありますか?

ある場合、「変更された」時間はstat呼び出しのiノードの作成時間に置き換えられますか?



そこファイルがext4ファイルシステム上にある場合はLinuxでのファイルの作成時刻を取得する方法であるように見えます。参照:unix.stackexchange.com/a/131347/182996
kaartic

回答:


16

ext4ファイルシステムは、作成時間を保存しません。stat -c %W myfileあなたに見せることができます。


6
ありがとう。私のシステムでstat -c %Wは0(作成時間不明)を返しますが、それは別の質問です
...-franziskus

1
ただし、多くのプログラムによるファイルの処理方法により、その作成時間の値は役に立たない可能性があることに注意してください。
mattdm

15
@Legate:ファイルを一時的な場所にコピーし、一時的な作業用コピーを編集して、保存時に元のファイルに一時的なコピーを移動することでテキストエディターが機能する場合、作成時間はいつですか?
mattdm

1
これを何らかの方法で有効にする必要がありますか?ext4ファイルシステム上のファイルのcrtimeを取得しようとしましたが、ゼロになりました。以前にこのブログ投稿を読んで、私も使用debugfsstatてみましたcrtime。だから、どういうわけか有効にする必要があるのだろうか?(FWIW Arch Linuxを使用)
18

2
そこ Linuxでのファイルの作成時刻を取得する方法であるように見えます。参照:unix.stackexchange.com/a/131347/182996
kaartic

30

このフィールドには標準名はありませんが、いくつかのファイルシステムにファイル作成時間が保存されます。

  • ufs2→st_birthtime
  • zfs→crtime
  • ext4→crtime
  • btrfs→otime
  • jfs→di_otime

5
明示的に言えば、2015-03年の時点では、XFSはサポートしていません(xfs_dbマンページまたはXFSファイルシステム構造を
フランクリン

4

ext4を知っている限り、JFSおよびBTRFSファイルシステムはすべて、ファイルiノードの追加フィールドをサポートして、作成時間を保存しますが、命名は異なる場合があります。

出典:LWNファイル作成時間


//、これを確認できましたか?少なくとも、私の趣味では、知る限りでは弱い。
ネイサンバサニーズ

5
@NathanBasanese AFAIKはJFSとBTRFSに報告していました。ext4では、はい、サポートしています。debugfsコマンドの統計情報を確認してください。例:ext4ファイルシステムがマウントされているデバイス(例:/ dev / sda3)を用意し、そのファイルシステム内のファイルiノード番号を取得する必要があります(ls -i42000を使用します)。次に入力します:debugfs -R 'stat <42000>' /dev/sda3。これをルートとして、または十分な権限で実行します。crtimeフィールドを探してください、それがそのフィールドです。JFSおよびBTRFSの場合、同等のdebugfsコマンドを見つける必要があります...
Huygens

//、NIIICE。$ ls -iを試しました| grep dump.rdb 656376 dump.rdbおよび$ sudo debugfs -R 'stat <656376>' / dev / sda2ですが、ext4がまだないようです。ext4で試してみたら、そう言います。
ネイサンバサネーゼ

@NathanBasanese df -Tパーティションタイプを取得するか、単にtypeと入力することができますmount。ファイルiノードが正しいパーティションに属していることを確認してください。iノードは(その性質上)パーティションに固有です。
ホイヘンス
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.