GNU/Linux >> Linux Esercitazione >  >> Linux

Come trovare ed eliminare directory vuote in Linux

Molte volte le directory vuote vengono ingombrate nel file system Linux e diventa un compito difficile cercare ed eliminare manualmente ciascuna di esse. Il comando rmdir (rimuovi directory ) viene utilizzato in Linux per eliminare le cartelle vuote.

Il comando è abbastanza semplice da usare e la sintassi di base è:

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

Qui, "nome cartella vuota1 ', 'nome cartella vuota2 ', ecc. sono i nomi delle cartelle incluso il percorso completo. Se le cartelle si trovano nella stessa directory, come forse già saprai, non è necessario annotare i percorsi completi.

Puoi anche utilizzare le espressioni con caratteri jolly per rimuovere le directory vuote con i modelli nei loro nomi. Ad esempio, per rimuovere le directory vuote con la sottostringa "test ' a loro nome, esegui:

$ rmdir *test*

Tuttavia, per utilizzare rmdir dobbiamo sempre specificare il nome (o il percorso completo) di ogni directory vuota da rimuovere. Non ci sono opzioni in rmdir per cercare ricorsivamente le directory vuote e quindi rimuoverle.

In questi casi utilizziamo le funzionalità del comando trova.

Trova e rimuovi directory vuote in Linux

Il comando trova viene utilizzato per cercare file e cartelle in Linux in base a diversi parametri come nome file, dimensione, tipo, ecc. Useremo trova per determinare le directory vuote in modo ricorsivo e quindi eseguire rmdir per eliminare le directory trovate.

Usa l'argomento '-empty' per cercare oggetti vuoti e specificare '-type d' per trovare solo le directory.

$ find path_of_folder_to_search -type d -empty

Per trovare le directory vuote in modo ricorsivo nella stessa cartella, esegui:

$ find . -type d -empty

Ora, poiché abbiamo già l'elenco di directory vuote trovato ricorsivamente, usiamo il '-exec' argomento del comando trova per eseguire rmdir su di loro.

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

Il segnaposto {} sostituisce ogni voce nell'elenco delle directory trovate e '\;' indica la fine del comando da eseguire.

Tuttavia, anche con questo, eseguirà solo un singolo giro di ricerca e rimuoverà le directory che sono vuote, ma non rimuoverà le directory che diventano vuote dopo il primo round di eliminazione.

Per affrontare questo problema, utilizziamo semplicemente il '-delete' opzione, che cancellerà ripetutamente tutte le directory vuote fino alla directory di livello superiore.

$ find . -type d -empty -delete

Questo è il modo in cui possiamo rimuovere ricorsivamente tutte le directory vuote in Linux.

Conclusione

Abbiamo imparato a usare rmdir comando e trova comando in Linux per eliminare le directory vuote in modo ricorsivo. Scopri di più su questi comandi nelle rispettive pagine man:

$ man rmdir
$ man find

Grazie per aver letto e condividi i tuoi pensieri qui sotto!


Linux
  1. Linux Elimina file e directory

  2. Come trovare ed eliminare directory e file vuoti in Unix

  3. Trova ed elimina tutte le directory denominate test in Linux

  4. come posso eliminare in modo ricorsivo le directory vuote nella mia home directory?

  5. Come posso eliminare in modo ricorsivo tutti i file e le directory vuoti in Linux?

Come rimuovere (eliminare) la directory in Linux

Come trovare ed eliminare file duplicati in Linux

Come trovare ed eliminare i collegamenti simbolici interrotti in Linux

Come rimuovere file e directory in Linux

Trova facilmente file e directory su Linux

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