GNU/Linux >> Znalost Linux >  >> Linux

Jak v Linuxu odstraníte soubory starší než konkrétní datum?

find ~ -type f ! -atime 4|xargs ls -lrt

Zobrazí se seznam souborů, ke kterým se přistupovalo starší než 4 dny , vyhledávání z domovského adresáře.


Můžete se dotknout svého časového razítka jako souboru a použít jej jako referenční bod:

např. pro 1. ledna 2014:

touch -t 201401010000 /tmp/2014-Jan-01-0000

find /path -type f ! -newer /tmp/2014-Jan-01-0000 | xargs rm -rf 

to funguje, protože find-newer přepínač, který používáme.

Od man find :

-newer file
       File  was  modified  more  recently than file.  If file is a symbolic
       link and the -H option or the -L option is in effect, the modification time of the 
       file it points to is always used.

Tato druhá odpověď znečišťuje souborový systém a find sám nabízí možnost "smazat". Nemusíme tedy předávat výsledky do xargs a poté vydávat rm.

Tato odpověď je efektivnější:

find /path -type f -not -newermt "YYYY-MM-DD HH:MI:SS" -delete

Toto funguje pro mě:

find /path ! -newermt "YYYY-MM-DD HH:MM:SS" | xargs rm -rf

Linux
  1. Jak najít soubory větší nebo menší než X v Linuxu

  2. Jak najít a odstranit prázdné adresáře a soubory v Linuxu

  3. Linux:pomocí funkce find vyhledejte soubory starší než <datum>

  1. Jak smazat všechny soubory starší než X počet dní v Linuxu?

  2. Linux – Jak zjistit datum vytvoření souboru?

  3. Jak najít a odstranit soubory starší než určité časové období v Linuxu

  1. Jak najít soubory ve formátu DOS v systému souborů linux

  2. najít a odstranit soubor nebo složku starší než x dní

  3. Jak smazat soubor s tímto názvem na linuxu:-]???????q