Gibt es unter Linux (bekannte, zuverlässige) Dateisysteme, die die Erstellungszeit von Dateien und Verzeichnissen in der i-node-Tabelle speichern?
Wenn ja, wird die "geänderte" Zeit durch die Erstellungszeit eines i-Knotens in einem stat-Aufruf ersetzt?
linux
filesystems
timestamps
Franziskus
quelle
quelle
Antworten:
Das ext4- Dateisystem speichert die Erstellungszeit.
stat -c %W myfile
kann es dir zeigen.quelle
stat -c %W
0 zurückgegeben (Erstellungszeit unbekannt), aber das ist eine andere Frage ...debugfs
undstat
stellte fest, dass es keine gibtcrtime
. Also frage ich mich, ob es irgendwie aktiviert werden muss? (FWIW ich benutze Arch Linux )Einige Dateisysteme speichern die Erstellungszeit der Datei, obwohl es keinen Standardnamen für dieses Feld gibt:
quelle
xfs_db
Hilfeseite oder in der XFS-DateisystemstrukturSoweit ich weiß, unterstützen ext4-, JFS- und BTRFS-Dateisysteme alle ein zusätzliches Feld in der Inode-Datei, um die Erstellungszeit zu speichern, obwohl die Benennung unterschiedlich sein kann.
Quelle: LWN File Creation Times
quelle
debugfs
Befehlsstatus. Beispiel: Sie müssen das Gerät, auf dem Ihr ext4-Dateisystem gemountet ist (z. B. / dev / sda3) und Sie müssen eine Datei-Inode-Nummer in diesem Dateisystem abrufen (verwendenls -i
Sie beispielsweise 42000 ist die Nummer). Dann geben Sie einfach Folgendes ein:debugfs -R 'stat <42000>' /dev/sda3
. Führen Sie dies als root oder mit ausreichenden Berechtigungen aus. Suchen Sie nach demcrtime
Feld, das ist das eine. Für JFS und BTRFS müssten Sie den entsprechenden Befehl debugfs finden ...df -T
den Partitionstyp abrufen oder einfach eingebenmount
. Stellen Sie sicher, dass der Datei-Inode zur richtigen Partition gehört. Inodes sind (ihrer Natur nach) für eine Partition spezifisch.