La directory mtime cambia sempre quando viene creato un nuovo file all'interno?


12

È sempre vero che quando viene creato un nuovo file in una directory, il mtime della directory cambia?


È abbastanza facile testarlo ...
— ewwhite,

6
Facile. Tuttavia, non su tutti i sistemi operativi e file system contemporaneamente :)
— kolypto

Risposte:


12

La risposta breve è sì, dovrebbe . Segue una risposta più lunga.

Una directory è un tipo speciale di file; il suo contenuto è un insieme di tuple (nome file, i-node) . Pertanto, il mtime della directory viene aggiornato ogni volta che una tupla viene aggiunta, rimossa o modificata, ovvero viene aggiunto, rimosso o rinominato un file di qualsiasi tipo (inclusi collegamenti e directory rigide) nella directory (ma non nelle directory nidificate - sono diverse " File").

Si noti che quando i metadati del file cambiano (proprietario, gruppo, modalità, atime, ctime, mtime - ospitato in i-node ), mtime NON viene aggiornato (né sul file né contenente dir), ma lo fa il ctime del file .

Vedere anche Volume delle definizioni di base di IEEE Std 1003.1-2001, Sezione 4.7, Aggiornamento tempi file .


1
Si noti che ciò vale solo per i file creati (ecc.) Direttamente all'interno della directory principale in questione, ma non per i file creati (ecc.) In una directory nella directory principale. Forse questo è ovvio per gli altri, ma non è stato per me (ho dovuto testare per trovare la risposta).
— logidelic

1
@logidelic grazie, ho aggiornato la risposta per renderlo più chiaro.
— anno

Perché il ctime della directory cambia anche quando si crea un nuovo file al suo interno?
— Mr. Roland,
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.