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!