rm

()

Eliminare file o cartelle

Il comando rm (remove) elimina file o intere cartelle permanentemente.

Lo schema alla base della visualizzazione è il seguente:

rm [OPZIONI] FILE

o

rm [OPZIONI] CARTELLA

Se una cartella comprensiva di tutte le sottocartelle viene eliminata, utilizzate rm con l’OPZIONE -R (–recursive).

rm -R CARTELLA

Più file o cartelle vengono separate tramite spazi.

rm [OPZIONI] FILE1 FILE2 …

Il comando rm elimina tutti i file all’interno della cartella, poi la cancella. Senza l’opzione -r il comando rm restituisce un errore anche se la directory da eliminare è vuota. Nota. In alternativa, per eliminare una directory vuota posso anche utilizzare il comando rmdir ( remove directory ).

La sintassi generale del comando rm è:

rm [opzioni] [--] arg1 [arg2 …]

I parametri arg indicano i nomi dei file e/o delle directory da rimuovere.

Il doppio trattino -- (facoltativo) indica che i parametri successivi non sono da considerarsi opzioni.

Tra le opzioni di uso comune vi sono:-r oppure -RRimuove ricorsivamente il contenuto delle directory specificate ed anche le directory stesse.-iRichiede conferma per ogni cancellazione.-fIgnora file non esistenti e disabilita ogni richiesta di conferma (dall’inglese forceforza nel senso di forzare).

rm è spesso utilizzato con l’alias di “rm -i” per evitare cancellazioni accidentali; se in questo caso si volesse cancellare un gran numero di file senza la richiesta di conferma, si può annullare l’effetto dell’opzione -i specificando anche l’opzione -f.

rm -rf (e varianti, “rm -rf /“, “rm -rf *“, e altre) sono frequentemente utilizzate in scherzi e aneddoti su disastri in ambienti Unix: la variante rm -rf /, infatti, se utilizzata da un amministratore (root) causerebbe la cancellazione dei contenuti in ogni file system montato sul computer.

In realtà, questo comando non funziona più già dal 2006, quando la versione 6.4 di GNU Core Utilities ha introdotto l’opzione --preserve-root, ormai abilitata in modo predefinito nelle distribuzioni più diffuse.

rm può essere usato insieme a xargs per rimuovere i file elencati in un file di testo o determinati tramite il comando find, posto che i nomi dei file non contengano spazi, apici o virgolette (che sono trattati in maniera speciale da xargs). Ad esempio:

 xargs rm < elenco.txt
 find . -type f -name "*.bak" -print | xargs rm -f
/ 5
Grazie per aver votato!

How useful was this post?

Click on a star to rate it!

Average rating / 5. Vote count:

No votes so far! Be the first to rate this post.

As you found this post useful...

Follow us on social media!

We are sorry that this post was not useful for you!

Let us improve this post!

Tell us how we can improve this post?