28Jun

Jak odebrat více podadresářů pomocí jednoho příkazu Linux

Pokud chcete odstranit několik podadresářů v jiném adresáři pomocí příkazového řádku v systému Linux, obecně musíte několikrát použít příkaz rm. Existuje však rychlejší způsob, jak to udělat.

Řekněme, že máme v adresáři adresář s názvem htg s pěti podadresáři a chceme odstranit tři z nich. V normální situaci bychom trikrát použili příkaz rm.

Tento proces však můžeme ještě zkrátit kombinací tří příkazů rm do jednoho. Zde je návod.

Chcete-li odstranit tři podadresáře, stačí zadat následující příkaz na výzvu a stisknout klávesu Enter( zjevně změňte názvy adresáře na to, co chcete odstranit).

rm -r ~ /Documents/htg/{ hotovo, nápady, poznámky}

Slova v závorkách jsou součástí "rozšiřujícího seznamu výstrah".Každá z položek v seznamu rozšíření nástaveb je připojena odděleně od předchozí cesty( ~ /Documents/htg/).Například výše uvedený příkaz je rozbalen na ~ /Documents/htg/ done, ~ /Documents/htg/ nápady a ~ /Documents/htg/ poznámky, tři podadresáře pod adresářem htg, které chceme odstranit. Jak můžete vidět na následujícím obrázku, byly tyto tři podadresáře odstraněny.

Příznak -r je vyžadován při použití příkazu rm k odebrání adresáře spíše než souboru. Pokud ponecháte příznak -r z výše uvedeného příkazu, zobrazí se chyba, že adresáře nelze odstranit.

Pokud jsou všechny podadresáře, které chcete odstranit, prázdné, můžete použít příkaz rmdir, jak je znázorněno níže.

rddir ~ /Documents/htg/{ done, ideas, notes}

Pokud se ukáže, že některý z podadresářů není prázdný, zobrazí se chyba, že odstranění se nezdařilo a příslušný podadresář a jeho podadresáře nejsou odstraněny. Avšak všechny prázdné podadresáře jsou odebrány.

Buďte velmi opatrní s příkazem rm. Nesprávným použitím můžete odstranit všechny soubory na pevném disku.

8 PŘÍBUZNÉ PŘÍRUČKY
8 Smrtící příkazy Nikdy byste neměli běžet na Linuxu
Jak vytvořit více podadresářů s jedním příkazem Linux

Můžete také vytvořit adresář obsahující několik podadresářů nebo adresářový strom pomocí jednoho příkazu.