Jak zjistím stáří daného souboru alespoň za několik dní?
Jsem si dobře vědom ls -lh
a podobné příkazy. Chci něco, co bude fungovat nějak takto:
getfage <FILE> # prints out '12d' (12 days)
Také to musí být poněkud multiplatformní, protože bych to chtěl používat také pod Mac OS X, ale primární případ použití je na mém Linux-boxu.
POZNÁMKA
Protože Linux nesleduje čas vytvoření, hledám dvojí řešení:jedno pro mtime (linux) – to je naposled, kdy byl zmíněný soubor upraven – a jeden pro Mac OS X, který si poradí s mtime nebo čas vytvoření.
Přijatá odpověď:
Unix nesleduje datum vytvoření. Jediné dostupné informace jsou obvykle, kdy byly soubory naposledy:
- Přístup
- Upraveno
- Změněno
- Přístup – poslední čas čtení souboru
- Upravit – čas, kdy byl soubor naposledy upraven (obsah byl upraven)
- Změnit – poslední změna metadat souboru (např. oprávnění)
(Z této odpovědi )
Data související s konkrétním souborem můžete získat pomocí stat
příkaz.
Příklad
$ stat ffmpeg
File: `ffmpeg'
Size: 19579304 Blocks: 38248 IO Block: 4096 regular file
Device: fd02h/64770d Inode: 10356770 Links: 1
Access: (0755/-rwxr-xr-x) Uid: ( 500/ saml) Gid: ( 501/ saml)
Access: 2013-11-26 10:49:09.908261694 -0500
Modify: 2013-11-02 17:05:13.357573854 -0400
Change: 2013-11-02 17:05:13.357573854 -0400
OSX a HFS
Pokud používáte OSX, souborový systém, který se používá pod tímto Unixem, je HFS. Toto je jeden z mála (kterého jsem si vědom), který uchovává datum vytvoření v souborovém systému spolu s časem modifikace atd. podobně jako u jiných Unixů.
úryvek
Záznam souboru ukládá různá metadata o souboru, včetně jeho CNID, velikosti souboru, tří časových razítek (kdy byl soubor vytvořen, poslední úpravy, poslední zálohy), rozsahů prvního souboru dat a rozvětvení zdrojů a ukazatelů k prvním záznamům rozsahu dat a prostředků v souboru přetečení rozsahu. Záznam souboru také ukládá dvě 16bajtová pole, která Finder používá k ukládání atributů o souboru, včetně věcí, jako je jeho kód tvůrce, kód typu, okno, ve kterém se má soubor objevit, a jeho umístění v okně.
Časová razítka
Časová razítka jsou vždy udržována v souborovém systému, takže jste omezeni jakýmkoli sledováním času, které je prostřednictvím nich nabízeno (EXT3, EXT4, XFS atd.).
Související:Proč InnoDB ukládá všechny databáze do jednoho souboru?Systémy souborů
Pokud jste někdy zvědaví, podívejte se na toto téma Wikipedie s názvem:Porovnání systémů souborů. Má nejrozsáhlejší seznam souborových systémů, jakých znám, spolu s pěknou tabulkou různých funkcí a stavu, zda je v daném souborovém systému podporován či nikoli.
Odkazy
- Jak zjistit datum vytvoření souboru?
- Jak provedu ls a poté seřadím výsledky podle data vytvoření?
- Seznam souborů vytvořených v neděli
- Získat vytvoření souboru/čas vytvoření?
- Proč čas Unixu začíná na 1970-01-01?