Press "Enter" to skip to content

Cancellare una cartella da terminale – linux e mac

Cancellare una cartella da terminale è fra le prime cose che chi inizia a lavorare con il terminale impara a fare, vedremo quindi in questo articolo un po’ di opzioni e di esempi del comando rm.
Il comando rm è disponibile sia sul terminale di ubuntu, kali, debian, mint e praticamente tutte le altre distribuzioni linux esistenti che su macos. Questa guida è quindi valida sia per il terminale linux che per quello mac.

Il comando rmdir

Per eliminare una cartella possiamo usare il comando rmdir, o in alternativa il più utilizzato comando rm. Il comando rmdir cancella le directory passate come argomento purché siano vuote. Gli argomenti sono processati nell’ordine in cui sono scritti. Per cancellare quindi una cartella e una sottocartella contenuta in essa dobbiamo prima scrivere la sottocartella e poi la cartella “madre”. In questo modo il comando cancellerà prima la sottocartella e poi troverà la cartella principale vuota e potrà rimuoverla senza errori.

Sintassi del comando rmdir

La sintassi del comando è abbastanza semplice:

rmdir nomedirectory

Cancellare directory – esempio

Vediamo un esempio, cancelliamo una cartella chiamata prova nel percorso /tmp/prova. rmdir e rm sono dei comandi pericolosi e irreversibili (il terminale non ha il cestino) quindi per fare delle prove mettetevi nella cartella /tmp che non contiene nulla di vitale per il sistema e controllate sempre 2 volte prima di eseguire un comando!

rmdir /tmp/prova

Per rimuovere più di una directory vuota con un singolo comando possiamo specificarle entrambe insieme:

rmdir /tmp/prova1 /tmp/prova2

Possiamo anche fornire il percorso relativo al comando rmdir.

cd /tmp
rmdir prova1 prova2

Se vogliamo possiamo anche cancellare un annidamento di cartelle vuote specificando l’opzione -p.

cd /tmp
rmdir prova1/sottodir1/sottodir2

Cancellare ricorsivamente una cartella

Finora abbiamo parlato sempre di cartelle vuote, se vogliamo cancellare una cartella e tutto il suo contenuto dovremo utilizzare il comando rm -rf, dovremo cioè dire al comando rm di agire ricorsivamente e cancellare tutto il contenuto.

rm -rf /tmp/prova

Come è facile intuire il comando rm -rf è ancora più distruttivo e pericoloso del comando rmdir, è possibile infatti cancellare definitivamente grandi quantità di dati con un singolo comando senza richiesta di conferme, è quindi sempre necessaria molta attenzione nell’usarlo.

Eliminare directory come root

A volte succede di dover cancellare una cartella che non si elimina ricevendo un errore “access denied” o “permission denied”, probabilmente quella è una cartella incancellabile perché appartenente all’utente root. Per eliminare cartelle bloccate da root, dobbiamo farlo come se fossimo root, per fare questo possiamo utilizzare il comando sudo prima di rm o rmdir. Presentandoci come root avremo il controllo totale… ma ricordiamoci che “da grandi poteri derivano grandi responsabilità” e quindi in questo caso dovremmo stare ancora più attenti perché oltre ad eliminare una cartella che non si elimina ma che vogliamo eliminare, potremmo per errore eliminare una cartella che non dovrebbe essere eliminata.

sudo rmdir /tmp/prova
oppure
sudo rm -rf /tmp/prova1

Potete trovare ulteriore documentazione nella pagina man di rm

Be First to Comment

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *