it-swarm-eu.dev

Jaký je rozdíl mezi úpravou a změnou v kontextu příkazů stat?

Stránka manuálu příkazu stat říká:

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

Nerozumím rozdílu mezi změnit a změnit. Chápu, že slova jsou synonyma (angličtina není mým rodným jazykem), ale jejich výstup je jiný.

Zkusil jsem následující příkaz

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

Nyní, když otevřu p.txt, změní se přístupový čas, přejdu do režimu vkládání, upravím soubor, upravím a změníme čas.

Změna 2010-10-06 12: 48: 39.286252389 +0500 
 Přístup 2010-10-06 12:49:14.962243456 +0500 
 Upravit 2010-10-06 12: 48: 39.234498878 +0500 

Když zapíšu změny do souboru :w, upravovat a měnit, obě se mění, ale dávají odlišné hodnoty.

Změna 2010-10-06 12:51:21.949082169 +0500 
 Přístup 2010-10-06 12: 51: 21.908246082 +0500 
 Upravit 2010-10-06 12:51:21.908246082 +0500 

Jaké jsou tedy významy „modifikace“ a „změny“ v této souvislosti? To znamená, že čas změn a změn dává čas, které události?

Dík

137
Andrew-Dufresne

To již bylo zodpovězeno v tato otázka , kterou cituji (původní text echox ):

Existují 3 druhy „časových razítek“:

  • Přístup - poslední čtení souboru
  • Upravit - při poslední úpravě souboru (obsah byl změněn)
  • Změnit - poslední změna metadat souboru (např. Oprávnění)

Tento příspěvek na StackOverflow vysvětluje rozdíl mezi třemi různými časy z pohledu programovacího rozhraní.

154
Riccardo Murri