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.