The UNIX and Linux Forums  
Hej och välkommen från USA till UNIX och Linux Forum! Tack för ditt besök och gå med i vår globala gemenskapen.

Go Back   UNIX och Linux Forum > Upp Forum > UNIX for Dummies Frågor & Svar > Svar på vanliga frågor > Tips och Tutorials
.
google unix.com



Tips och Tutorials Nyttiga artiklar från våra användare.

Mer UNIX och Linux Forum Ämnen Du kan hitta Helpful
Tråd Thread Starter Forum Svar Senaste Inlägg
hur man hittar ot ctime, mtime, atime nilesrex Shell-programmering och Skript 5 11-08-2008 04:35
atime, ctime, mtime någonstans längs csize .. moxxx68 UNIX for Dummies Frågor & Svar 4 03-02-2005 06:14
mtime vs ctime moxxx68 UNIX for Dummies Frågor & Svar 3 11-06-2004 10:57
Konvertera vanliga Temne att CTIME PGPhantom UNIX for Dummies Frågor & Svar 9 08-23-2002 10:47
ctime & hitta 98_1LE UNIX for Dummies Frågor & Svar 1 06-22-2001 04:33

 
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ök i denna tråd Omdöme: Thread Rating: 11 votes, 4.91 average. Visningslägen
  #1 (permalänk)  
Old 07-31-2005
Perderabo's Avatar
Perderabo Perderabo is offline Forum Staff  
Unix Daemon
  
 

Join Date: Aug 2001
Ort: Ashburn, Virginia
Inlägg: 9.119
mtime, ctime och atime

Unix håller 3 tidstämplar för varje fil: mtime, ctime och atime. De flesta människor tycks förstå atime (tillgång Temne), det är när filen senast läsa. Det tycks vara en viss förvirring mellan mtime och ctime dock. ctime är inode förändring Temne medan mtime är fil ändringstid. "Ändra" och "förändring" är ganska synonymt. Det finns ingen aning om att hade begrunda dessa ord. Istället måste du fokusera på vad som ändrats. mtime förändringar när du skriver till filen. Det är en ålder av data i filen. När mtime förändringar, så innebär ctime. Men ctime förändringar ett par extra gånger. Till exempel kommer det att ändra om du ändrar ägare eller behörigheterna för filen.

Låt oss titta på ett konkret exempel. Vi driver ett paket som kallas Samba som låter datorn tillgång filer. Om du vill ändra Samba konfiguration, jag bara redigera en fil som heter smb.conf. (Detta ändrar mtime och ctime.) Jag behöver inte vidta några andra åtgärder för att berätta Samba att jag ändrat den filen. Då och då Samba tittar på mtime på filen. Om mtime har förändrats, Samba rereads filen. Senare samma natt våra reservsystem löper. Det använder ctime, som också ändrats så att det stöder upp filen. Men låt oss säga att ett par dagar senare Jag märker att de behörigheter för smb.conf är 666. Det är inte bra .. alla kan redigera filen. Så jag gör en "chmod 644 smb.conf". Detta ändrar bara ctime. Samba kommer inte att läsa filen. Men senare den kvällen, våra Säkerhetskopieringsprogram meddelanden att ctime har förändringar, så det säkerhetskopierar filen. På så sätt, om vi förlorar systemet och behöver ladda våra backuper, vi får nya förbättrade tillstånd inställningen.

Här är ett andra exempel. Låt säga att du har en datafil kallas employees.txt som är en förteckning över de anställda. Och du har ett program för att skriva ut det. Programmet inte bara skriver ut uppgifter, men det får mtime och skriver ut det också. Nu någon har begärt en anställd lista från och med slutet av år 2000 och du hittade en backup-band som har den filen. Många återställa program kommer att återställa mtime också. När du kör det programmet kommer det att skriva ut en mtime från slutet av år 2000. Men ctime är i dag. Så återigen, vår backup-program kommer att se filen som behöver säkerhetskopieras.

Antag att din återställa programmet inte återställa mtime. Du vill inte att ditt program att skriva ut dagens datum. Tja inget problem. mtime är under din kontroll. Du kan ställa det till vad det passar dig. Så gör du:
$ Touch-t 200012311800 employees.txt
Detta kommer att ställa mtime tillbaka till den dag du vill och där man ctime tills nu. Du har fullständig kontroll över mtime, men systemet förblir i kontroll av ctime. Så mtime är lite som den dag ett brev medan ctime är som poststämpel på kuvertet.
  #2 (permalänk)  
Old 12-28-2006
Perderabo's Avatar
Perderabo Perderabo is offline Forum Staff  
Unix Daemon
  
 

Join Date: Aug 2001
Ort: Ashburn, Virginia
Inlägg: 9.119
hitta kommandoradsväxlar mtime-ctime-atime

De hittar kommandot använder argument som:
-mtime -2
-mtime 2
-mtime 2

Det finns-ctime och atime alternativ också. Eftersom vi nu förstår skillnaderna mellan mtime, ctime och atime, genom att förstå hur hitta använder-mtime alternativ, de andra två blir förstås också. Så jag kommer att beskriva hitta användning av-mtime alternativ.

Som du förmodligen vet, hitta kommandot kan köra till minuter eller timmar beroende på storleken på filsystemet som sökte. De hittar kommandot gör en del av sin egen starttid. Därefter granskas ett filens mtime och beräknar hur många sekunder sedan filen ändrades. Genom att dividera sekunder med 86.400 (och kasta alla återstående), den kan beräkna filen ålder i dagar:
Kod:
0 days in seconds:       0  -   86399
1 day in seconds:    86400  -  172799
2 days in seconds:  172800  -  259159
Så nu när vi vet hur många dagar sedan en fil har ändrats, vi kan använda saker som "-mtime 2" som anger filer som är 172800 till 259159 sekunder äldre än instant att hitta kommandot inleddes.

"-mtime -2" innebär filer som är mindre än 2 dagar gamla, som en fil som är 0 eller 1 dagar gammal.

"-mtime 2" betyder filer som är mer än 2 dagar gamla ... (3, 4, 5, ...)

Det kan verka underligt, men 0 är tänkt att arbeta och skulle innebära filer mer än 0 dagar gammal. Det är mycket viktigt att inse att finna koncept för en "dag" har ingenting att göra med midnatt.

Senast redigerad av Perderabo; 08-05-2007 vid 12:40..
  #3 (permalänk)  
Old 08-30-2007
Perderabo's Avatar
Perderabo Perderabo is offline Forum Staff  
Unix Daemon
  
 

Join Date: Aug 2001
Ort: Ashburn, Virginia
Inlägg: 9.119
Använda perl att visa filen tidstämplar

LS-program kommer att visa mtime om du använder "ls-l". Och du kan få atime eller ctime med "ls-lu" eller "ls-LC". Men ls använder ett märkligt format. Det visar månad och dag, i alla fall. Om tidsstämpel är nyligen också visar timmar och minuter. Om tidsstämpel är äldre än 6 månader, det visar år i stället för timmar och minuter. En smart skript kan formatera detta år, månad, dag, timme och minut. Men ls inte visa sekunder. Den GNU version av ls (som vanligtvis är den enda versionen på linux) har förlängts alternativ vill - heltid. Men dessa utvidgade alternativ som inte är standard och inte kommer att finnas tillgänglig på andra versioner av Unix.

Den perl språket är också icke-standardiserade, men perl tenderar att vara tillgängliga på de flesta versioner av Unix. Till exempel, en version av perl levereras med HP-UX och Solaris. Perl kan lätt visa tidstämplar filer. Här är några perl one-liners för att visa atime, mtime och ctime.


Kod:
$ 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
$
 

Komihåglista

Taggar
atime, ctime, ändringstid, mtime, perl, perl skift, växla, skift perl, tid

Thread Tools Sök i denna tråd
Sök i denna tråd:

Avancerad sökning
Visningslägen Betygsätt denna tråd
Betygsätt denna tråd:

Utstationering Regler
Du får inte efter nya trådar
Du får inte efter svar
Du får inte skicka bilagor
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG] kod
HTML-koden är Av
Trackback är
Pingbacks är
Refbacks är




Alla tider är GMT -4. Klockan är nu 12:52.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Översättningar Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX och Linux Forum Innehållet upphovsrättsskyddat © 1993-2009. All Rights Reserved.Ad förvaltning RedTyger

Content Relevant webbadresser från vBSEO 3.2.0