Qual é a diferença entre modificar e alterar no contexto do comando stat?

115

A página de manual do comando stat diz:

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

Não consigo entender a diferença entre modificar e alterar . Eu entendo as palavras são sinônimos (Inglês não é minha língua nativa), mas sua saída é diferente.

Eu tentei o seguinte comando

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

Agora, quando abro o p.txt, o tempo de acesso é alterado, entro no modo de inserção, edito o arquivo, modifico e altero o tempo que permanece igual.

Change 2010-10-06 12:48:39.286252389 +0500
Access 2010-10-06 12:49:14.962243456 +0500
Modify 2010-10-06 12:48:39.234498878 +0500

Quando escrevo as alterações no arquivo :w , modifico e altero, ambas mudam, mas fornecem valores diferentes.

Change 2010-10-06 12:51:21.949082169 +0500
Access 2010-10-06 12:51:21.908246082 +0500
Modify 2010-10-06 12:51:21.908246082 +0500

Então, quais são os significados de "modificar" e "alterar" neste contexto? Ou seja, o tempo de modificação e mudança dão tempo de quais eventos?

Obrigado

    
por Andrew-Dufresne 06.10.2010 / 09:57

1 resposta

124

Isso já foi respondido em esta pergunta , que cito (texto original de echox ):

There are 3 kind of "timestamps":

  • Access - the last time the file was read
  • Modify - the last time the file was modified (content has been modified)
  • Change - the last time meta data of the file was changed (e.g. permissions)

Este post no StackOverflow explica a diferença entre os três tempos diferentes de um ponto de interface de programação de vista.

    
por 06.10.2010 / 10:24