GNU/Linux >> Znalost Linux >  >> Linux

Get Age Of Given File?

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:

  1. Přístup
  2. Upraveno
  3. 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?

Linux
  1. Získat čas vytvoření/vytvoření souboru??

  2. Získejte čas na vytváření souborů s Pythonem na linuxu

  3. Jak získat úplnou cestu k souboru?

  1. Jak získat datum/čas vytvoření souboru v Bash/Debian?

  2. Jak získat čas UTC

  3. Neblokující získat charakter

  1. `^m` A jak se toho zbavit?

  2. Získejte délku MP3 v Linuxu / FreeBSD

  3. Doba přístupu k souboru se v ubuntu 12.04 neaktualizuje