Kolko casov suboru pozna FreeBSD?

Dan Lukes dan at obluda.cz
Sat Mar 16 21:56:25 CET 2019


Na kazdou jednoduchou otazku existuje kratka, jednoducha, snadno 
pochopitelna - a nespravna - odpoved ...

Pokud ti ale takova staci, tak FreeBSD zna tri casy a jsou to tyto ctyri:

atime       /* time of last access */
mtime       /* time of last modification */
ctime       /* time file changed */
birthtime   /* time file created */

Uz je to jasnejsi ? ;-)

> az teraz zacinam do toho znova aspon trochu vidiet. 

Neboj, to rychle napravime a zase prestanes.

> Prikaz ls vie zobrazit dva casy:
a to nasledujici ctyri ;-) :

> ls -lT   zobrazi last modification time
> ls -lTu  zobrazi last access time
ls -lTU  # birthtime
ls -lTc  # ctime

> Perl a php pozna tri casy:
> atime    last access time in seconds since the epoch
> mtime    last modify time in seconds since the epoch
> ctime    inode change time in seconds since the epoch

Ano

> Prikaz stat zobrazuje styri casy:
> st_atime, st_mtime, st_ctime, st_birthtime

Jak se to vezme. Misto kterehokoliv udaje muze zobrazit VNOVAL (=-1) 
kdyz udaj nema k dispozici - takze realne zobrazuje ctyri NEBO MENE udaju.

Jake z tech ctyrech udaju ma a jake nema zalezi na filesystemu, na 
kterem je zkoumany objekt umisten.

> 1,Aky je to cas st_birthtime a jeho vyznam?

Na to by ti asi nejlepe odpovedel Kirk McKusick, ktery implementoval 
UFS/FFS a navrhl UFS2. Jiste to nekde najdes presne, takze jen velmi 
strucne:

Puvodne melo byt ctime casem vytvoreni souboru. Ukazalo se ale, ze dump 
v inkrementalnim rezimu potrebuje spis cas vytvoreni inode. Konecna 
implementace UFS1/FFS tak mela atime, mtime a ctime, kde posledni byl 
cas vytvoreni inode. Cas vytvoreni souboru ulozen nebyl, protoze po 
posane zmene vyznamu 'ctime' uz na nej "nezbylo misto". Cas vytvoreni 
souboru se objevil az na UFS2, a to prave jako birthtime.

To ale mluvime i UFS1/FFS/UFS2. Na jinych filesystemech jsou/mohou 
byt/presne vyznamy jednotlivych casu jine pripadne nemusi byt nektery z 
casu na konkretnim filesystemu k dispozici vubec (misto nej bude system 
vracet -1).

V podstate je to tak, ze chystas-li se pouzit nektery z techto casu, 
musis zvazit k jakemu presne ucelu a rozhodnout se, zda muzes nektery z 
udaji pouzit "vzdy", nebo zda proste neobejdes bez toho, abys musel pri 
zpracovani zohlednit i konkretni typ filesystemu.

Takze, ono to je trochu komplikovane - nejen s poctem dostupnych casu, 
ale i s presnym vyznamem kazdeho z nich.

A to je jeste uplny nic proti tomu, kdybys chtel svepomocne resit 
zalohovani a obnovu.

Dan




More information about the Users-l mailing list