Linux -operativsystemet holder orden på tre tidsstempler for hver fil på systemet ditt. Disse tidsstemplene lar deg finne ut når en fil sist ble oppdatert. Men hva betyr de alle? Og hvordan finner du ut disse tider for en fil? Er det en forskjell når det gjelder kataloger?
En forståelse av atime, ctime og mtime kan svare på alle disse spørsmålene. Dette er de tre tidsstemplene som Unix -filsystemer sporer. Hvis du noen gang trenger å finne ut detaljer om hva som endret seg og når, les videre.
Hva er de tre Unix -tidsstemplene?
Hver fil har tre tidsstempler knyttet til seg. Linux lagrer disse i Unix tidsformat som måler sekunder siden epoken. De tre tidsstemplene blir ofte referert til som atime, ctime og mtime.
De mtime er den vanligste og ofte den mest nyttige. Det står for endret tid . Det er tidspunktet da filens innhold sist ble skrevet til disk.
Litt annerledes er ctime som står for endre tid . Dette tidsstempelet sporer metadataendringer som eierskap og tillatelser. Den inkluderer å gi nytt navn til en fil - i det minste på typiske moderne Linux -operativsystemer. Men den oppdateres også når filens innhold endres, så den er alltid like oppdatert som mtime.
Det tredje tidsstempelet er en gang , som lagrer siste gang noen åpnet filen.
gratis ocr -programvare for Windows 10
Hvordan tidsstempler gjelder for kataloger
En Linux -katalog er i hovedsak en liste over filene i den katalogen. Så å lage en fil i en katalog vil oppdatere katalogens mtime. Liste over filene i katalogen ved hjelp av ls kommando, for eksempel, oppdaterer tilgangstiden. Og som med en fil, endrer katalogets tillatelser eller navn oppdateringstiden.
Hva med skapelsestiden?
Det kan overraske deg å lære at Linux rett og slett ikke holder styr på opprettelsestiden. Det kan du i utgangspunktet anta ctime står for skapelsestid. På samme måte kan du tenke på det som en veldig nyttig ting å kunne finne ut av.
Mange programmer lagrer filer ved å lage dem fra bunnen av hver gang. Dette vil gjøre bruk av en opprettelsestid misvisende.
Slik ser du de forskjellige tidsstemplene
Den enkleste måten å få tidsstempelinformasjon er med de ls kommando . Standard langformat viser detaljer for mtime:
$ date
Sat Mar 6 16:57:01 GMT 2021
$ echo 'hello, world' > tmp
$ ls -l tmp.txt
-rw-r--r-- 1 ubuntu ubuntu 13 2021-03-06 16:57 tmp
Du kan vise atime i stedet ved å bruke -u flagg:
$ date
Sat Mar 6 16:59:33 GMT 2021
$ cat tmp
hello, world
$ ls -lu tmp
-rw-r--r-- 1 ubuntu ubuntu 13 2021-03-06 16:59 tmp
$ ls -l tmp
-rw-r--r-- 1 ubuntu ubuntu 13 2021-03-06 16:57 tmp
Den siste linjen bekrefter at tiden for denne filen er forskjellig fra tidspunktet. Til slutt bruker du -c flagg for å se ctime:
$ date
Sat Mar 6 17:02:34 GMT 2021
$ mv tmp tmp2
$ ls -lc tmp2
-rw-r--r-- 1 ubuntu ubuntu 13 2021-03-06 17:02 tmp2
$ ls -l tmp2
-rw-r--r-- 1 ubuntu ubuntu 13 2021-03-06 16:57 tmp2
$ ls -lu tmp2
-rw-r--r-- 1 ubuntu ubuntu 13 2021-03-06 16:59 tmp2
Denne gangen bekrefter vi at alle tre gangene er forskjellige og riktige: vi endret, åpnet, deretter endret filen, i den rekkefølgen.
Et alternativ til ls er stat kommando. Denne kommandoen viser detaljer på lavt nivå fra filens inode. Det gjør det lettere å kontrollere alle tre gangene samtidig. Det kommer også rundt problemet med det uintuitive -u flagg. Her er et eksempel på utdata for den samme filen:
$ stat tmp2
File: `tmp2'
Size: 13 Blocks: 8 IO Block: 4096 regular file
Device: 801h/2049d Inode: 327688 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 1000/ ubuntu) Gid: ( 1000/ ubuntu)
Access: 2021-03-06 16:59:45.000000000 +0000
Modify: 2021-03-06 16:57:59.000000000 +0000
Change: 2021-03-06 17:02:43.000000000 +0000
Slik oppdaterer du tidsstempler
De ta på kommandoen endrer endring og tilgangstid for en fil. Det er også en praktisk måte å lage en tom fil, som den vil gjøre hvis filen ikke allerede finnes:
hvordan få noen til å snuse i Android -telefonen din
touch tmp
Som standard vil den sette mtime og atime til gjeldende tid. Du kan angi et annet tidspunkt med -t flagg:
touch -t 202103061200 tmp
Du kan også angi bare mtime eller atime med -m og -til henholdsvis flagg:
touch -t 202103061300 -m tmp
Vær oppmerksom på at ctime alltid oppdateres når vi angir atime eller mtime.
Hvordan finne filer basert på tidsstempler
De finne kommando er et annet verktøy som virker på tidsstempler. Den kan filtrere filer basert på atime, ctime eller mtime. For eksempel:
find . -amin 15
finner filer som ble åpnet for nøyaktig 15 minutter siden, mens:
find . -mtime -2
finner filer endret i løpet av de siste to dagene.
Linux holder oversikt over hver fil tre ganger
Tidsstempelet for filene som oftest refereres til er mtime. Dette er for eksempel datoen og klokkeslettet som en filliste viser. Men de to andre tidsstemplene kan også være nyttige, forutsatt at du forstår hva de refererer til. Husk spesielt at ctime representerer endring tid, ikke opprettelse tid.
Kommandoer som touch og stat er nyttige medlemmer av Linux -kommandolinjens verktøykasse. Disse kommandoene vil forbedre Linux -arbeidsflyten din ved å la deg lage nye filer raskt.
Dele Dele kvitring E -post Linux Commands Reference Cheat SheetDette enkle juksearket hjelper deg med å bli komfortabel med Linux -kommandolinjeterminalen på kort tid.
hvordan koble en switch til en tvLes neste Relaterte temaer
- Linux
- Filbehandling
- Linux Distro
Bobby er en teknologientusiast som jobbet som programvareutvikler i de fleste to tiårene. Han brenner for spill, jobber som Reviews Editor i Switch Player Magazine, og er fordypet i alle aspekter av online publisering og webutvikling.
Mer fra Bobby JackAbonner på vårt nyhetsbrev
Bli med i vårt nyhetsbrev for tekniske tips, anmeldelser, gratis ebøker og eksklusive tilbud!
Klikk her for å abonnere