it-swarm.it

Qual è la differenza tra modifica e cambiamento nel contesto del comando stat?

La pagina di manuale del comando stat dice:

   %x     Time of last access
   %y     Time of last modification
   %z     Time of last change

Non riesco a capire la differenza tra modifica e modifica. Capisco che le parole sono sinonimi (l'inglese non è la mia lingua madre), ma il loro output è diverso.

Ho provato il seguente comando

stat --printf="Change %z\nAccess %x\nModify %y\n" p.txt

Ora quando apro p.txt, il tempo di accesso è cambiato, vado in modalità di inserimento, modifica il file, modifica e cambio il tempo rimane lo stesso.

Modifica 2010-10-06 12: 48: 39.286252389 +0500 
 Accesso 2010-10-06 12:49:14.962243456 +0500 
 Modifica 2010-10-06 12: 48: 39.234498878 +0500 

Quando scrivo le modifiche al file :w, modifica e cambia, entrambi cambiano ma danno valori diversi.

Modifica 2010-10-06 12:51:21.949082169 +0500 
 Accesso 2010-10-06 12: 51: 21.908246082 +0500 
 Modifica 2010-10-06 12:51:21.908246082 0500 

Quindi quali sono i significati di "modifica" e "modifica" in questo contesto? Cioè, il tempo di modifica e cambiamento danno il tempo di quali eventi?

Grazie

137
Andrew-Dufresne

È già stata data una risposta in questa domanda , che cito (testo originale di echox ):

Esistono 3 tipi di "timestamp":

  • Accesso: l'ultima volta che il file è stato letto
  • Modifica: l'ultima volta che il file è stato modificato (il contenuto è stato modificato)
  • Modifica: l'ultima volta che sono stati modificati i metadati del file (ad es. Autorizzazioni)

Questo post su StackOverflow spiega la differenza tra le tre diverse volte dal punto di vista dell'interfaccia di programmazione.

154
Riccardo Murri