В чем разница между модификацией и изменением в контексте команды stat?


132

Страница statруководства команды гласит:

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

Я не могу понять разницу между модификацией и изменением . Я понимаю, что слова являются синонимами (английский не мой родной язык), но их вывод отличается.

Я попробовал следующую команду

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

Теперь, когда я открываю p.txt, время доступа изменяется, я вхожу в режим вставки, редактирую файл, изменяю и время изменения остается тем же.

Изменение 2010-10-06 12: 48: 39.286252389 +0500
Доступ 2010-10-06 12:49:14. 962243456 +0500
Изменить 2010-10-06 12: 48: 39.234498878 +0500

Когда я записываю изменения в файл :w, изменяю и изменяю, оба меняются, но дают разные значения.

Изменение 2010-10-06 12:51:21. 949082169 +0500
Access 2010-10-06 12: 51: 21.908246082 +0500
Изменить 2010-10-06 12:51:21. 908246082 +0500

Так что же означает «изменить» и «изменить» в этом контексте? То есть время модификации и изменения дают время каких событий?

Спасибо


8
Чтобы сделать его еще более забавным, в моем локализованном --helpон читает что-то вроде «последнего изменения» и «последнего изменения», так как у нас нет двух слов для изменения / изменения.
Камило Мартин

1
@CamiloMartin, это ужасная плохая услуга переводчика. Если вы знаете английский, я рекомендую использовать только английскую среду - намного проще понять намерения автора оригинальной документации, а также гораздо проще найти помощь в Интернете.
Ян Лалинский

Ответы:


145

На этот вопрос уже был дан ответ , который я цитирую (оригинальный текст от echox ):

Существует 3 вида «временных меток»:

  • Доступ - последний раз, когда файл был прочитан
  • Изменить - последний раз, когда файл был изменен (содержимое было изменено)
  • Изменить - в последний раз метаданные файла были изменены (например, разрешения)

Этот пост в StackOverflow объясняет разницу между тремя разными временами с точки зрения интерфейса программирования.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.