Quali file system su Linux memorizzano i tempi di creazione?


32

Esistono file system (noti, affidabili) su Linux che memorizzano i tempi di creazione di file e directory nella tabella i-node?

In caso affermativo, l'ora "modificata" viene sostituita dall'ora di creazione di un i-node in una chiamata stat?



Ci fa sembra essere un modo per ottenere l'ora di creazione di file in Linux se il file si trova su un file system ext4. Vedi: unix.stackexchange.com/a/131347/182996
kaartic

Risposte:


16

Il file system ext4 memorizza l'ora di creazione. stat -c %W myfileposso mostrartelo.


6
Grazie. Nel mio sistema stat -c %Wrestituisce 0 (tempo di creazione sconosciuto), ma questa è un'altra domanda ...
franziskus,

1
Tuttavia, a causa del modo in cui i file vengono gestiti da molti programmi, il valore del tempo di creazione potrebbe non essere utile .
Mattdm,

15
@Legate: se un editor di testo funziona copiando il file in una posizione temporanea, modificando la copia temporanea di lavoro e quindi spostando la copia temporanea sull'originale al momento del salvataggio, quando è il momento della creazione?
Mattdm,

1
Questo deve essere abilitato in qualche modo? Ho provato a ottenere il crtime per un file su un filesystem ext4 e ho ottenuto zero. Dopo aver letto questo post sul blog , ho anche provato a utilizzare debugfse statche ha rivelato che non c'è crtime. Quindi mi chiedo se debba essere abilitato in qualche modo? (FWIW che uso Arch Linux )
Starfry

2
Ci fa sembra essere un modo per ottenere l'ora di creazione di file in Linux. Vedi: unix.stackexchange.com/a/131347/182996
kaartic

30

Diversi file system memorizzano il tempo di creazione del file, anche se non esiste un nome standard per questo campo:

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

5
Ad essere espliciti, a partire dal 2015-03, XFS non supporta (consultare la xfs_dbmanpage o nella struttura del file system XFS
Franklin Piat

4

Per quanto ne so ext4, i file system JFS e BTRFS supportano tutti un campo aggiuntivo nell'inode dei file per memorizzare il tempo di creazione, sebbene la denominazione potrebbe essere diversa.

Fonte: tempi di creazione dei file LWN


//, sei stato in grado di verificarlo? AFAIK è un po 'debole, almeno per i miei gusti.
Nathan Basanese,

5
@NathanBasanese L'AFAIK riportava a JFS e BTRFS. Per ext4, sì, lo supporta. Controlla debugfsstat comando. Esempio: è necessario creare il dispositivo sul quale è montato il filesystem ext4 (ad es. / Dev / sda3) ed è necessario ottenere un numero di inode del file all'interno di quel file system (usare ls -i, diciamo che 42000 è il numero), quindi digitare semplicemente: debugfs -R 'stat <42000>' /dev/sda3. Eseguilo come root o con privilegi sufficienti. Cerca il crtimecampo, quello è quello. Per JFS e BTRFS, dovresti trovare il comando debugfs equivalente ...
Huygens

//, NIIICE. Ho provato $ ls -i | grep dump.rdb 656376 dump.rdb e $ sudo debugfs -R 'stat <656376>' / dev / sda2, ma penso di non avere ancora ext4. Se lo provo su un ext4, lo dirò.
Nathan Basanese,

@NathanBasanese Puoi fare df -Tper ottenere il tipo di partizione o semplicemente digitare mount. Assicurarsi che l'inode del file appartenga alla partizione corretta. Gli Inodi sono (per loro natura) specifici di una partizione.
Huygens,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.