Hai problemi a rimuovere una cartella o una directory in Ubuntu?
Questa guida è per te.
L'eliminazione di una directory o di una cartella in Linux che ha uno spazio vuoto o con sottodirectory contenenti file è importante per liberare spazio sul sistema per salvare più file o installare pacchetti aggiuntivi.
Qui a LinuxAPT, come parte dei nostri servizi di gestione del server, aiutiamo regolarmente i nostri clienti a svolgere attività relative a Ubuntu.
In questo contesto, esamineremo diversi modi in cui è possibile eliminare una directory in Linux.
Come eliminare una directory o una cartella usando il comando rmdir?
Il comando rmdir, acronimo di 'remove directory', è uno strumento da riga di comando utilizzato per eliminare directory vuote. L'operazione andrà a buon fine se e solo se la directory è vuota.
La sintassi per eliminare una directory è la seguente:
$ sudo rmdir name_of_directory
Ad esempio, per rimuovere una directory vuota chiamata 'home_directory', eseguire il comando:
$ sudo rmdir home_directory
Se la directory non è vuota, sullo schermo verrà visualizzato un errore come mostrato:
rmdir: failed to remove 'home_directory': Directory not empty
L'errore indica che la directory contiene file o cartelle o entrambi.
Come rimuovere una directory usando il comando rm?
Il comando rm è l'abbreviazione di 'rimuovi'. Viene utilizzato per eliminare sia le directory vuote che quelle non vuote.
Il comando rm viene solitamente utilizzato per rimuovere i file in Linux. Tuttavia, puoi passare alcuni argomenti che possono aiutarti a eliminare le directory. Ad esempio, per rimuovere una directory in modo ricorsivo (rimuovere la directory insieme al suo contenuto), utilizzare l'opzione ricorsiva -r (-R o --recursive) come mostrato di seguito;
$ sudo rm -r home_directory
Se una directory è protetta da scrittura, ti verrà chiesto se continuare a eliminare i file all'interno della directory e la directory nel suo insieme. Per risparmiarti il fastidio e l'inconveniente di imbatterti costantemente in tali prompt, aggiungi l'opzione -f per forzare l'eliminazione senza che venga richiesto.
$ sudo rm -rf home_directory
Inoltre, puoi eliminare più directory contemporaneamente con un unico comando, come mostrato nel comando seguente. Il comando elimina tutte le directory e le relative sottodirectory senza richiedere l'eliminazione.
$ sudo rm -rf home_directory1 home_directory2 home_directory3
Per esercitare maggiore cautela, è possibile utilizzare l'opzione -i che richiede la cancellazione delle directory e delle sottodirectory. Tuttavia, come abbiamo visto in precedenza, questo può essere piuttosto fastidioso soprattutto se hai diverse sottocartelle e file.
Per ovviare a questo inconveniente, utilizza il flag -I per avvisarti una sola volta:
$ sudo rm -rI home_directory/
Quando premi y per "Sì", il comando rimuoverà tutte le sottocartelle e i file nella directory senza ulteriori richieste.
Per rimuovere una directory vuota, passa l'opzione -d come mostrato di seguito.
$ sudo rm -d home_directory
Come si usa il comando trova?
Il comando Trova è uno strumento da riga di comando che aiuta gli utenti a cercare file e directory in base a criteri/motivi o espressioni di ricerca specifici. Inoltre, il comando può essere utilizzato per cercare directory ed eliminarle in base ai criteri di ricerca specificati.
Ad esempio, per eliminare una directory denominata 'home_directory' nella directory corrente, eseguire il comando seguente.
$ sudo find . -type d -name "home_directory" -exec rm -rf {} +
Analizziamo i parametri nel comando:
( . ) - Indica la directory in cui viene eseguita l'operazione di ricerca. Se vuoi effettuare la ricerca nella tua rubrica attuale usa il punto (.)
-type d - Imposta l'operazione di ricerca per cercare solo le directory.
-name - Specifica il nome della directory.
-exec rm -rf - Questo elimina tutte le directory e il loro contenuto.
{} +- - Aggiunge tutti i file trovati alla fine del comando rm.
Facciamo un altro esempio:
Come rimuovere una directory o una cartella vuota?
Se desideri rimuovere tutte le directory vuote, usa il seguente comando:
$ sudo find. -type d -empty -delete
Inoltre, analizziamolo;
. - Questo ricerca ricorsivamente nella directory di lavoro corrente
-type d - Mantiene la ricerca solo nelle directory
-empty - Questo limita il modello di ricerca alle sole directory vuote
-delete - Questo cancellerà tutte le directory vuote trovate incluse le sottodirectory.