V jednom z našich předchozích článků jsme vysvětlili, jak zjistit nejvyšší adresáře a soubory, které zabírají nejvíce místa na disku na souborovém systému v Linuxu. Pokud si všimnete, že takové adresáře již neobsahují důležité soubory a podadresáře (jako jsou staré zálohy, stažené soubory atd..), můžete je odstranit, abyste uvolnili místo na disku.
Přečtěte si také :10 užitečných du (používání disku) příkazů pro zjištění využití disku u souborů a adresářů
Tento krátký tutoriál popisuje, jak najít a odstranit adresáře rekurzivně v systému souborů Linux.
K dosažení výše uvedeného účelu můžete použít příkaz find společně s příkazem rm pomocí níže uvedené syntaxe. Zde je +
znak na konci umožňuje současné čtení více adresářů.
$ find /start/search/from/this/dir -name "dirname-to-delete" -type d -exec /bin/rm -rf {} +
Pozor :Musíte použít příkaz rm opatrně, protože je to jeden z nejnebezpečnějších příkazů pro použití v Linuxu:můžete nechtěně smazat kritické systémové adresáře, což má za následek selhání systému.
V níže uvedeném příkladu budeme hledat adresář s názvem files_2008 a rekurzivně jej smažte:
$ $find ~/Downloads/software -name "files_2008" -type d -exec /bin/rm -rf {} +
Můžete také použít najít a xargs; v následující syntaxi -print0
akce umožňuje tisk celé cesty k adresáři na standardní výstup následovaný znakem null:
$ find /start/search/from/this/dir -name "dirname-to-delete" -type d -print0 | xargs -0 /bin/rm -rf "{}"
Pomocí stejného příkladu výše máme:
$ find ~/Downloads/software -name "files_2008" -type d -print0 | xargs -0 /bin/rm -rf "{}"
V neposlední řadě, pokud máte obavy o bezpečnost svých dat, možná se budete chtít naučit 3 způsoby, jak trvale a bezpečně smazat „Soubory a adresáře“ v Linuxu.
Nezapomeňte si přečíst další užitečné články o správě souborů a adresářů v Linuxu:
- fdupes – nástroj příkazového řádku pro vyhledání a odstranění duplicitních souborů v systému Linux
- Jak najít a odstranit duplicitní/nežádoucí soubory v Linuxu pomocí nástroje „FSlint“
- 3 způsoby, jak odstranit všechny soubory v adresáři kromě jednoho nebo několika souborů s příponami
V tomto článku jsme vám ukázali, jak najít a odstranit adresáře rekurzivně v Linuxu. Pokud máte nějaké dotazy nebo další nápady, které chcete přidat k tomuto tématu, použijte sekci komentářů níže.