Jak už možná víte, v Linuxu používáme k mazání souborů a složek příkaz rm. Názvy souborů, které mají být odstraněny, musí být předány jako argumenty rm . Nicméně rm sama o sobě nenabízí další možnosti, jako je mazání souborů na základě časových razítek.
To je důvod, proč v Linuxu používáme příkaz find, který se používá k vyhledávání souborů a složek na základě různých parametrů. Jde o komplexní příkaz, který lze použít k vyhledávání s parametry, jako je název souboru, velikost, typ souboru atd.
V příkazu najít je možnost vyhledávat soubory podle toho, jak jsou staré, a dnes si ukážeme, jak používat najít a rm společně smazat soubory starší než zadaný počet dní.
Najít soubory starší než N dní
Použijeme argument '-atime'
příkazu find k vyhledání souborů starších než N dny, tj. poslední přístup před alespoň N dnů.
$ find <directory_path> -atime +<N> $ find . -atime +3
V aktuálním jsou dva soubory, které byly naposledy otevřeny nejméně před 4 dny. Použijme ‘stat ‘ příkaz k ověření:
$ stat tmp2 tmp3
Jak vidíte, soubory jsou 4 a 5 dní staré resp. Všimněte si, že program ignoruje jakoukoli zlomkovou část časového razítka při výpočtu, jak starý je soubor; proto například, když mají být specifikovány soubory starší než 4 dny nebo více, uvedeme +3
.
Smazat soubory starší než N dní
Nakonec zavolejte příkaz rm s argumentem '-exec'
k odstranění těchto souborů.
$ find . -atime +3 -exec rm {} \;
Tedy dva soubory ‘tmp2 “ a „tmp3 “ byly smazány.
Závěr
V tomto článku jsme viděli, jak odstranit soubory starší než stanovený počet dní v Linuxu. Jak možná víte, v souborových systémech Linux (a Unix) není zachována doba vytvoření souboru. Tři časová razítka udržovaná pro soubor jsou; jeho čas posledního přístupu, čas poslední úpravy a čas poslední změny stavu.
Zde jsme zvažovali poslední přístupový čas pro vyhledávání souborů. Uživatelé si také mohou vybrat, zda přejít na čas úpravy nebo změny stavu:jednoduše použijte možnosti '-mtime'
nebo '-ctime'
respektive namísto '-atime'
a zbytek syntaxe zůstává stejný.
Děkuji za přečtení! Dejte nám vědět své myšlenky v komentářích níže!