2012-07-17 10 views
9

Chiariamo questo una volta per tutte. Ho provato a Google questo ma sembra che questa informazione non possa essere trovata in un posto.ctime, mtime, holding directory, windows, linux

Quando un file viene creato o rimosso, la directory di attesa mtime cambia su Windows e Linux entrambi. ctime cambia anche sul bot Linux non su Windows perché ctime è tempo di creazione.

Se un file viene riaperto e scritto, la directory di mantenimento non cambia. Tuttavia, sia su Windows che su Linux il file mtime cambia, e su Linux cambia anche ctime, su Windows il ctime è tempo di creare.

È corretto? Quali caveat ci sono? Esistono eccezioni, ad esempio condivisioni di rete Windows? O Samba?

Modifica: coloro che hanno votato per chiudere questo come off-topic, si prega di lasciare un commento su quale sito pensi che sia in tema. Ci sono tonnellate di domande mtime/ctime su StackOverflow e solo perché non ho incluso frammenti di PHP che si basano su questa conoscenza non significa non ce ne sono:/

+1

se non ricordo male, ctime cambia solo quando l'editor di salvare file di funzione cancella firstâ e poi ri-crea. Se semplicemente si apre il file da sovrascrivere, allora ctime non cambierà, solo mtime. –

+0

Linux ha X filesystem e posso immaginare che tutti possano farlo (leggermente o completamente) in modo diverso. No, anche se lo desideri, non puoi chiarirlo una volta per tutte. Non è così che funziona l'IT. – hakre

+0

È come dire ['getdents'] (http://www.kernel.org/doc/man-pages/online/pages/man2/getdents.2.html) ha un valore di ritorno leggermente diverso su diversi filesystem. Sicuramente ci sono anche semantiche e aspettative su questo. – chx

risposta

4

pensare in questo modo:

Una directory è un file che contiene puntatori (o "collegamenti") ai file.

Come di che:

  • Modifica della contenuti di un file non influenzerà la directory
    (a meno che il file viene eliminato e poi ha creato di nuovo con lo stesso nome, come indicato da Gabor Garami sopra)

  • aggiunta, eliminazione o ridenominazione dei file cambierà il contenuto della directory file
    che causerà la sua ctime/mtime a cambiare come si hav e ha descritto, a seconda del sistema operativo

+0

So cosa è * supposto * essere ma non è certo la domanda ... stiamo parlando di Windows, giusto? – chx

+0

Beh, in questo caso stiamo parlando di filosofia e non di scienza ... Direi che ogni versione di Windows avrà il suo comportamento. Suggerisco di lasciare questo percorso e cercare una soluzione completamente diversa. – Gonen

+1

Quello che cercavo è "Sì, questo è il comportamento previsto, qualcuno ha visto in modo diverso?" e la risposta sarebbe simile a "Con Windows ME in rete su Netware 286 in realtà ..." – chx

Problemi correlati