GNU/Linux >> Znalost Linux >  >> Linux

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

Prázdné adresáře jsou v souborovém systému Linuxu mnohokrát zahlceny a každý z nich se stává obtížným úkolem ručně vyhledat a odstranit. Příkaz rmdir (odebrat adresář ) se v Linuxu používá k mazání prázdných složek.

Příkaz je poměrně jednoduchý na použití a základní syntaxe je:

$ rmdir <empty folder name1> <empty folder name1> ... <empty folder nameN>

Zde „název prázdné složky1 ‘, ‘název prázdné složky2 ‘ atd. jsou názvy složek včetně úplné cesty. Pokud jsou složky ve stejném adresáři, pak, jak už možná víte, není třeba zapisovat úplné cesty.

Můžete také použít zástupné výrazy k odstranění prázdných adresářů se vzory v jejich názvech. Chcete-li například odstranit prázdné adresáře s podřetězcem ‘test ‘ v jejich jménu spusťte:

$ rmdir *test*

Chcete-li však použít rmdir vždy musíme zadat název (nebo úplnou cestu) každého prázdného adresáře, který má být odstraněn. V rmdir není žádná možnost rekurzivně hledat prázdné adresáře a pak je odstranit.

V takových případech využíváme funkce příkazu find.

Najděte a odstraňte prázdné adresáře v Linuxu

Příkaz Najít se používá k vyhledávání souborů a složek v Linuxu na základě různých parametrů, jako je název souboru, velikost, typ atd. Použijeme najít k rekurzivnímu určení prázdných adresářů a následnému spuštění rmdir pro smazání nalezených adresářů.

Použijte argument '-empty' hledat prázdné objekty a zadat '-type d' najít pouze adresáře.

$ find path_of_folder_to_search -type d -empty

Chcete-li rekurzivně najít prázdné adresáře ve stejné složce, spusťte:

$ find . -type d -empty

Nyní, protože již máme rekurzivně nalezený seznam prázdných adresářů, použijeme '-exec' argument příkazu find ke spuštění rmdir nad nimi.

$ find . -type d -empty -exec rmdir {} \;

Zástupný symbol {} nahradí každý záznam v seznamu nalezených adresářů a '\;' znamená konec příkazu, který se má provést.

Nicméně i s tímto provede pouze jedno kolo hledání a odstraní adresáře, které jsou prázdné, ale neodstraní adresáře, které se vyprázdní po prvním kole mazání.

K vyřešení tohoto problému jednoduše použijeme '-delete' volba, která opakovaně smaže všechny prázdné adresáře až do adresáře nejvyšší úrovně.

$ find . -type d -empty -delete

Takto můžeme v Linuxu rekurzivně odstranit všechny prázdné adresáře.

Závěr

Naučili jsme se používat rmdir příkaz a najít příkaz v Linuxu k rekurzivnímu mazání prázdných adresářů. Další informace o těchto příkazech naleznete v příslušných manuálových stránkách:

$ man rmdir
$ man find

Děkujeme za přečtení a níže se podělte o své myšlenky!


Linux
  1. Najděte soubory a adresáře v Linuxu jako profík

  2. Jak odstranit soubory a adresáře v Linuxu z příkazového řádku

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

  1. Linux Odstraňte soubory a adresáře

  2. Jak smyčkovat adresáře v Linuxu?

  3. jak mohu rekurzivně odstranit prázdné adresáře v mém domovském adresáři?

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

  2. Najděte a odstraňte všechny adresáře s názvem test v linuxu

  3. Jak mohu rekurzivně odstranit všechny prázdné soubory a adresáře v Linuxu?