Förklaring av Linux-filtidsstämplar för: atime, mtime och ctime
När betyder "ändra" inte "ändra"? När vi pratar om tidsstämplar för Linux-filer. I den här guiden kommer vi att förklara hur systemet uppdaterar dem och hur du själv ändrar dem.
Skillnaden mellan atime, mtime och ctime
Varje Linux-fil har tre tidsstämplar: åtkomsttidsstämpeln (atime), den modifierade tidsstämpeln (mtime) och den ändrade tidsstämpeln (ctime).
Åtkomsttidsstämpeln är sista gången filen lästes. Det betyder att någon använde ett program för att se innehållet i filen eller läsa några värden från den. Inget har ändrats eller lagts till i filen. Uppgifterna är refererade men oförändrade.
Den ändrade tidsstämpeln anger när innehållet i filen senast ändrades. Ett program eller en process redigerar eller manipulerar filen. "Ändrad" betyder att något i filen har ändrats eller raderats, eller att ny data har lagts till.
Ändrade tidsstämplar indikerar inte ändringar som gjorts i filens innehåll. Det är snarare den tidpunkt då metadata relaterade till filen ändrades. Till exempel kommer ändringar av filbehörigheter att uppdatera den ändrade tidsstämpeln.
Standardfilsystemet Linux ext4 allokerar också utrymme för tidsstämpeln för filskapandet i dess interna filsystemstrukturer, men detta är ännu inte implementerat. Ibland är denna tidsstämpel ifylld, men du kan inte lita på värdena i den.
Detaljerad tidsstämpel
Linux-tidsstämplar innehåller ett nummer istället för datum och tid. Detta nummer är antalet sekunder sedan Unix-eran, som var midnatt (00:00:00) den 1 januari 1970, Coordinated Universal Time (UTC). Språngsekunder ignoreras i Linux-tidsstämplar, så de är ingenting som realtid.
När Linux behöver visa en tidsstämpel översätter det antalet sekunder till ett datum och en tid. Detta gör det lättare för människor att förstå. Platsen och tidszonen där datorn tittar på filen instruerar datorn att konvertera antalet sekunder till ett datum och en tid. Det säkerställer också att månaden är på rätt språk.
Så, hur många sekunder kan lagras i en tidsstämpel? Mycket – 2,147,483,647 19 2038 03 för att vara exakt. Detta är ett stort antal, men räcker det? Om du lägger till det i Unix-eran och sedan översätter det till ett datum och en tid får du tisdagen den 14 januari 07 kl. XNUMX:XNUMX:XNUMX. Vi behöver ett annat system för tidsstämplar innan dess.
Visa tidsstämplar
När alternativet -l (långlista) används med ls, som visas nedan, Du kan se den ändrade tidsstämpeln:
ls -l dp.c
Om du vill se åtkomsttidsstämpeln, använd alternativet -lu (åtkomsttid) enligt följande:
ls -lu dp.c
Slutligen, för att se tidsstämpeln för ändringen, kan du använda alternativet -lc (ändra tid); Skriv följande:
ls -lc dp.c