GNU/Linux >> Znalost Linux >  >> Linux

bash - odstraní všechny adresáře (a obsah), ale ne soubory v pwd

Někde jsem našel tohle:

rm -r */

Zdá se, že je to nejjednodušší cesta. S vaším příkladem byste museli potvrdit každý případ, pokud máte 5 souborů, je to v pořádku, ale s většími strukturami souborů není interaktivní režim cesta... Jen jako návrh, pokud jde o důležitou informaci, udělejte zálohování...


Ne, to by vám dalo "chybějící operand", protože jste nic nespecifikovali. Vložení * zobrazí také výzvu k zadání souborů.

Zkusil bych:

find -mindepth 1 -maxdepth 1 -type d -exec rm -r {} \;

mindepth 1 vyloučí . z výsledků maxdepth 1 vyloučí pokusy o provedení v adresářích, které budou stejně odstraněny (proto vytvoří varování). V praxi je ale můžete vynechat oba, pokud souhlasíte s několika „nevinnými“ varováními.


Použijte

rm -rf ./*/

Tím se vyhnete interaktivnímu režimu a odstraníte pouze adresáře ve vašem lokálním adresáři.


Linux
  1. Odebrat všechny soubory/adresáře kromě jednoho souboru?

  2. Získat všechny soubory kromě souborů v poli – Bash?

  3. Jak odstranit soubory a adresáře v příkazovém řádku Linuxu [Výukový program pro začátečníky]

  1. Porovnat adresáře, ale ne obsah souborů?

  2. Odstraňte úložiště Git, ale ponechte všechny soubory

  3. Jak mohu úplně odstranit PHPStorm a všechny související soubory na Ubuntu 13.04?

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

  2. Jak rekurzivně vypsat všechny soubory a adresáře

  3. Bash skript pro odstranění všech souborů kromě N při abecedním řazení