Timestamp Unix mantiene 3 per ogni file: tre, mtime, ctime, e atime. La maggior parte delle persone sembra di capire atime (tempo di accesso), è quando il file è stato l'ultima lettura. Ci sembra di essere un po 'di confusione tra ctime e mtime se. ctime è il
inode orario di cambio, mentre è il mtime ora di modifica del file. "Cambia" e "modifica" sono praticamente sinonimi. Non vi è alcun indizio essere dovuto scrutando quelle parole. Invece è necessario concentrarsi su ciò che è cambiato. mtime modifiche quando si scrive il file. È l'età dei dati nel file. Ogni volta che cambia mtime, ctime non così. Ma i cambiamenti ctime qualche volte. Ad esempio, si cambia se si cambia il proprietario o le autorizzazioni per il file.
Vediamo un esempio concreto. Noi usiamo un pacchetto chiamato Samba, che permette di accedere ai file del PC. Per modificare la configurazione di Samba, ho solo modificare un file chiamato smb.conf. (Questa modifica ctime e mtime.) Non ho bisogno di prendere qualsiasi altra azione di Samba per dire che ho cambiato il file. Ogni ora e poi guarda il Samba mtime sul file. Se il mtime è cambiato, Samba rilegge il file. Più tardi quella notte, il nostro sistema per il backup viene eseguito. Esso utilizza ctime, che è cambiato in modo che il backup dei file. Ma diciamo che un paio di giorni dopo ho notato che le autorizzazioni per smb.conf sono 666. Questo non va bene .. chiunque può modificare il file. Quindi, fare un "chmod 644 smb.conf". Questo cambia solo ctime. Samba non rileggere il file. Ma più tardi quella notte, il nostro programma di backup si accorge che ha ctime modifiche, in modo che il backup dei file. In questo modo, se si perde il sistema e la necessità di ricaricare il nostro backup, abbiamo migliorato il nuovo permesso impostazione.
Ecco un secondo esempio. Diciamo che avete un file di dati che è chiamato employees.txt un elenco dei dipendenti. E avete anche un programma per stamparlo. Il programma non solo la stampa dei dati, ma ottiene il mtime e le stampe che troppo. Ora qualcuno ha chiesto un elenco dei dipendenti a partire dalla fine del 2000 e ha trovato un nastro di backup che ha quel file. Molti programmi di ripristino ripristina la mtime pure. Quando si esegue il programma che si stampa uno mtime a partire dalla fine del 2000. Ma il ctime oggi. Quindi, di nuovo, il nostro programma di backup si veda il file come il bisogno di essere sostenuta.
Supponiamo che il vostro programma di ripristino non ha ripristinato la mtime. Se non si desidera che il tuo programma per stampare la data odierna. Beh nessun problema. mtime è sotto il vostro controllo. È possibile impostare fino a che non sempre si desidera. Quindi non solo:
$ Touch-t 200012311800 employees.txt
Questo creerà mtime indietro alla data desiderata e fissa ctime ad oggi. Voi avete il controllo completo su tre, mtime, ma il sistema rimane in controllo della ctime. Mtime Così è un po 'come la data in una lettera, mentre ctime è come farà fede il timbro postale sulla busta.