The UNIX and Linux Forums  

Go Back   UNIX og Linux Forums > Top Forums > UNIX for dummyer Spørgsmål & svar > Svar på ofte stillede spørgsmål > Tips og Tutorials
.
google unix.com



Tips og Tutorials Helpful articles fra vores brugere.

Mere UNIX og Linux Forum Emner du måske kan finde Helpful
Tråd Thread Starter Forum Svar Last Post
hvordan man finder ot ctime, mtime, atime nilesrex Shell Programmering og Scripting 5 11-08-2008 04:35 PM
atime, ctime, mtime sted langs csize .. moxxx68 UNIX for dummyer Spørgsmål & svar 4 03-02-2005 06:14 PM
mtime vs ctime moxxx68 UNIX for dummyer Spørgsmål & svar 3 11-06-2004 10:57 PM
Konvertere regelmæssig tid til at CTIME PGPhantom UNIX for dummyer Spørgsmål & svar 9 08-23-2002 10:47 PM
ctime & finde 98_1LE UNIX for dummyer Spørgsmål & svar 1 06-22-2001 04:33 PM

 
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
LinkBack Thread Tools Søg denne tråd Karakter: Thread Rating: 11 votes, 4.91 average. Display Modes
  #1 (permalink)  
Old 07-31-2005
Perderabo's Avatar
Perderabo Perderabo is offline Forum Staff  
Unix Daemon
  
 

Join Date: Aug 2001
Beliggenhed: Ashburn, Virginia
Indlæg: 9.131
mtime, ctime, og atime

Unix holder 3 tidsstemplerne for hver fil: mtime, ctime, og atime. De fleste mennesker synes at forstå atime (adgang tid), er det når filen sidst blev læst. Der ser ud til at være en vis forvirring mellem mtime og ctime skønt. ctime er inode skift mens mtime er filen modifikation tid. "Change" og "ændringer" er smuk mange synonymt. Der er ingen anelse om at der tages ved tænke disse ord. I stedet skal du fokusere på, hvad der bliver ændret. mtime ændringer, når du skrive til filen. Det er en alder af data i filen. Når mtime ændringer, det gør ctime. Men ctime ændringer et par ekstra gange. For eksempel, vil det ændre sig, hvis du skifter ejer eller tilladelserne på filen.

Lad os se på et konkret eksempel. Vi kører en pakke kaldet Samba som lader pc adgang filer. Hvis du vil ændre Samba konfiguration jeg blot redigere en fil kaldet smb.conf. (Dette ændrer mtime og ctime.) Jeg behøver ikke at træffe andre foranstaltninger for at fortælle Samba, at jeg ændrede den pågældende fil. Enhver ny og næ Samba ser på mtime på filen. Hvis mtime har ændret sig, Samba rereads filen. Senere samme nat vores backup systemet kører. Det bruger ctime, som også ændret, så den bakker op filen. Men lad os sige, at et par dage senere Jeg har bemærket, at tilladelserne på smb.conf er 666. Det er ikke godt .. alle kan redigere filen. Så jeg gøre en "chmod 644 smb.conf". Dette ændrer kun ctime. Samba ikke vil genlæse filen. Men senere samme aften, vores backup program bekendtgørelser at ctime har ændringer, så det bakker op filen. Denne måde, hvis vi mister systemet og behovet for at genindlæse vores backups, vi får den nye forbedrede tilladelse indstilling.

Her er et andet eksempel. Lad os sige, at du har en data-fil kaldet employees.txt, som er en liste over de ansatte. Og du har et program til at udskrive det. Programmet ikke kun udskriver data, men det opnår mtime og udskriver det. Nu en person har ansøgt om en medarbejder liste fra udgangen af 2000, og du har fundet et backup-bånd, der har den pågældende fil. Mange genoprette programmer vil genoprette mtime såvel. Når du kører programmet vil udskrive en mtime fra udgangen af 2000. Men ctime er i dag. Så igen, vores backup-program vil se filen som der skal bakkes op.

Antag at din genoprette programmet ikke gendanne mtime. Du ønsker ikke dit program til at udskrive dags dato. Nå ikke noget problem. mtime er under din kontrol. Du kan indstille den til, hvad der nogensinde du ønsker. Så bare gøre:
$ Touch-t 200012311800 employees.txt
Dette vil indstille mtime tilbage til den dato, du ønsker, og den sætter ctime nu. Du har fuldstændig kontrol over mtime, men systemet bliver i kontrol af ctime. Så mtime er lidt ligesom den dato, på et brev, mens ctime er ligesom poststemplet på kuverten.
  #2 (permalink)  
Old 12-28-2006
Perderabo's Avatar
Perderabo Perderabo is offline Forum Staff  
Unix Daemon
  
 

Join Date: Aug 2001
Beliggenhed: Ashburn, Virginia
Indlæg: 9.131
finde kommandolinjeparametre mtime-ctime-atime

Find kommando bruger argumenter som:
-mtime -2
-mtime 2
-mtime 2

Der er-ctime og-atime muligheder. Da vi nu forstå forskellene mellem mtime, ctime, og atime ved at forstå, hvordan finde bruger-mtime mulighed, og de to andre bliver forstået som godt. Så jeg vil beskrive finde anvendelse af-mtime mulighed.

Som du sikkert ved, finde kommando kan køre for minutter eller timer, afhængigt af størrelsen af det filsystem ransages. Find kommando gør et notat af sine egne starttidspunkt. Herefter ses der på en fil's mtime og beregner, hvor mange sekunder siden den fil blev ændret. Ved at dividere sekunder ved 86.400 (og genudsætning enhver resten), kan det beregne fil alder i dage:
Code:
0 days in seconds:       0  -   86399
1 day in seconds:    86400  -  172799
2 days in seconds:  172800  -  259159

Så nu er, at vi vide, hvor mange dage siden en fil er blevet ændret, kan vi bruge ting som "-mtime 2" som specificerer filer, der er 172.800 til 259.159 sekunder ældre end instant at finde kommandoen blev startet.

"-mtime -2" betyder filer, der er mindre end 2 dage gamle, sådan som en fil, der er 0 eller 1 dage gamle.

"-mtime 2" betyder filer, der er mere end 2 dage gamle ... (3, 4, 5, ...)

Det kan synes mærkeligt, men 0 formodes at arbejde og ville betyde filer over 0 dage gamle. Det er meget vigtigt at erkende, at finde et koncept for en "dag" har intet at gøre med midnat.

Sidst redigeret af Perderabo; 08-05-2007 på 12:40 PM..
  #3 (permalink)  
Old 08-30-2007
Perderabo's Avatar
Perderabo Perderabo is offline Forum Staff  
Unix Daemon
  
 

Join Date: Aug 2001
Beliggenhed: Ashburn, Virginia
Indlæg: 9.131
Brug af perl at vise filen tidsstemplerne

LS program vil vise mtime hvis du bruger "ls-l". Og du kan få atime eller ctime med "ls-lu" eller "ls-LC". Men ls bruger et mærkeligt format. Den viser måneden og dagen i alle tilfælde. Hvis tidsstempel er af nyere dato, det viser også time og minut. Hvis tidsstempel er ældre end 6 måneder, det vise år i stedet for time og minut. Et smart script kan omformatere dette år, måned, dag, time og minut. Men ls vil ikke vise sekunder. Den gnu version af ls (som normalt er den eneste version af Linux) har forlænget valgmuligheder gerne - fuldtidsarbejde. Men disse udvidede muligheder er ikke-standard og ikke vil være tilgængelig på andre versioner af Unix.

Den perl Sproget er også ikke-standard, men perl tendens til at være tilgængelig på de fleste versioner af UNIX. For eksempel, en version af perl leveres sammen med HP-UX og Solaris. Perl kan let vise tidsstemplerne af filer. Her er nogle perl one-liners til at vise atime, mtime, og ctime.



Code:
$ echo hello > testfile ; date
Thu Aug 30 08:31:57 EDT 2007
$ chmod 700 testfile ; date
Thu Aug 30 08:32:48 EDT 2007
$ cat testfile ; date
hello
Thu Aug 30 08:33:30 EDT 2007
$
$
$
$
$ perl -e '@d=localtime ((stat(shift))[8]); printf "%4d%02d%02d%02d%02d%02d\n", $d[5]+1900,$d[4]+1,$d[3],$d[2],$d[1],$d[0]' testfile
20070830083330
$ perl -e '@d=localtime ((stat(shift))[9]); printf "%4d%02d%02d%02d%02d%02d\n", $d[5]+1900,$d[4]+1,$d[3],$d[2],$d[1],$d[0]' testfile
20070830083157
$ perl -e '@d=localtime ((stat(shift))[10]); printf "%4d%02d%02d%02d%02d%02d\n", $d[5]+1900,$d[4]+1,$d[3],$d[2],$d[1],$d[0]' testfile
20070830083248
$

 

Bogmærker

Tags
atime, ctime, ændringstidspunkt, mtime, perl, perl skift, skift, skift perl, tid

Thread Tools Søg denne tråd
Søg denne tråd:

Avanceret søgning
Display Modes Bedøm denne tråd
Bedøm denne tråd:

Udstationering Regler
Du kan ikke post nye tråde
Du kan ikke post svar
Du kan ikke post vedhæftede filer
Du kan ikke redigere dine indlæg

BB-kode er
Smilies er
[IMG] koden er
HTML-koden er Slukket
Trackbacks er
Pingbacks er
Refbacks er




Alle tidspunkter er GMT -4. Den tid er nu 05:00 AM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Oversættelser Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX og Linux Forums Content Copyright © 1993-2009. Alle rettigheder Reserved.Ad Management ved RedTyger

Content Relevant webadresser ved vBSEO 3.2.0