GNU/Linux >> Linux Esercitazione >  >> Linux

bash - rimuove tutte le directory (e i contenuti) ma non i file in pwd

Ho trovato questo da qualche parte:

rm -r */

Sembra il modo più semplice per andare. Con il tuo esempio, dovresti confermare ogni caso, se hai 5 file va bene, ma con strutture di file più grandi una modalità interattiva non è la strada da percorrere ... Solo come suggerimento, se si tratta di informazioni importanti, fai un backup...


No, questo ti darebbe "operando mancante" poiché non hai specificato nulla. Mettere un * richiederebbe anche i file.

Proverei a:

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

L'mindepth 1 escluderà . dai risultati, il maxdepth 1 escluderà il tentativo di fare sotto le directory che verranno comunque cancellate (creando quindi un avviso). Ma in pratica potresti ometterli entrambi se accetti di avere alcuni avvertimenti "innocenti".


Usa

rm -rf ./*/

Ciò evita la modalità interattiva e cancella solo le directory nella tua directory locale.


Linux
  1. Rimuovere tutti i file/directory tranne un file?

  2. Confronta le directory ma non il contenuto dei file?

  3. Script Bash per eliminare tutti i file tranne N quando sono ordinati alfabeticamente

  4. Rimuovi il repository Git, ma mantieni tutti i file

  5. Concedi il permesso di esecuzione alle directory ma non ai file

Come rimuovere directory e file utilizzando Linux

Come rimuovere file e directory utilizzando la riga di comando di Linux

Come rimuovere file e directory in Linux

Come rimuovere file e directory su terminale Linux

Come eseguire la ricerca Grep su tutti i file e in tutte le directory

Come trovo tutti i file e le directory scrivibili da un utente specifico?