it-swarm-es.tech

¿Cuál es la diferencia entre modificar y cambiar en el contexto del comando stat?

La página del manual del comando stat dice:

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

No puedo entender la diferencia entre modificar y cambiar. Entiendo que las palabras son sinónimos (el inglés no es mi lengua materna), pero su salida es diferente.

Probé el siguiente comando

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

Ahora, cuando abro p.txt, el tiempo de acceso cambia, entro en modo de inserción, edito el archivo, modifico y el tiempo de cambio permanece igual.

Cambiar 2010-10-06 12: 48: 39.286252389 +0500 
 Acceso 2010-10-06 12:49:14.962243456 +0500 
 Modificar 2010-10-06 12: 48: 39.234498878 +0500 

Cuando escribo los cambios en el archivo :w, modificar y cambiar, ambos cambian pero dan valores diferentes.

Cambiar 2010-10-06 12:51:21.949082169 +0500 
 Acceso 2010-10-06 12: 51: 21.908246082 +0500 
 Modificar 2010-10-06 12:51:21.908246082 +0500 

Entonces, ¿cuáles son los significados de "modificar" y "cambiar" en este contexto? Es decir, ¿el tiempo de modificación y cambio da tiempo de qué eventos?

Gracias

137
Andrew-Dufresne

Esto ya ha sido respondido en esta pregunta , que cito (texto original de echox ):

Hay 3 tipos de "marcas de tiempo":

  • Acceso: la última vez que se leyó el archivo
  • Modificar: la última vez que se modificó el archivo (se modificó el contenido)
  • Cambiar: la última vez que se modificaron los metadatos del archivo (por ejemplo, permisos)

Esta publicación en StackOverflow explica la diferencia entre los tres tiempos diferentes desde el punto de vista de la interfaz de programación.

154
Riccardo Murri