Portál AbcLinuxu, 8. května 2025 06:36
Dates recorded modification (mtime), attribute modification (ctime), access (atime), delete (dtime), create (crtime)
$ stat -c %w filename -Nehledal jsem to nějak extensivně, ale nenašel jsem způsob, jak ext4 donutit, aby birthtime ukládal. Man mount i man mke2fs mlčí.
Existuje možnost získat ze souboru i z adresáře skutečný datum a čas vytvoření?Ta otázka trochu zavání. Jsou to pořád jenom metadata. Člověk si nemůže být jistý, že získal údaj odpovídající realitě.
Měnit se dá vždy… i kdyby jen ruční editací obrazu filesystému na zařízení.
Ale těch nejasností je IMHO víc, např. by si bylo dobré ujasnit, jak by se takový "creation time" měl chovat třeba při
cp -a
getfattr/setfattr
a samozřejmě pro to existuje API. Do těch si můžete zapsat, co se vám zlíbí. Takže si tam můžete zapsat třeba pořadí souboru, nebo alternativní název, který se má použít pro řazení.
Ale záleží na tom, jak se s těmi soubory bude pracovat. Některé programy editují soubory tak, že vytvoří nový soubor, do něj zapíšou data, původní soubor smažou a nový přejmenují na jméno toho starého. Takže vznikne nový soubor, který z toho původního samozřejmě nepřevezme ty rozšířené atributy, ale ani nic jiného – jen název a oprávnění. Ale s tím byste měl problém i u jakéhokoli jiné systému ukládání dat k souborům.
Pak už by zbyla jenom jedna možnost – vytvořit si tam nějaký skrytý soubor, a do něj si podle názvů souborů zapisovat pořadí. Pak už se s těmi soubory může dělat cokoli, dokud jim zůstane název, bude to fungovat. Pokud tedy uživatelé soubory nepřejmenovávají a nechtějí, aby soubor zůstal zařazen na původním místě.
sudo debugfs -R "stat /cesta/soubor" /dev/zarizenive skriptu pak muzes cist atime pomoci -u a detailne pomoci --full-time (nebo jinej format jak budes chtit)
ls -l -u --full-time
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.