Rm (Unix)
rm (da remove. rimuovi) è un comando dei sistemi Unix e Unix-like che cancella file e directory dal file system.
Più precisamente, rm rimuove uno o più collegamenti fisici, per cui non è detto che ciò comporti anche la rimozione immediata anche dei dati e la conseguente liberazione dello spazio su memoria di massa. Ad esempio ciò non avviene se vi sono altri collegamenti fisici agli stessi dati, o anche se il file o la directory sono al momento in uso da qualche processo.
Al contrario del comando rmdir, rm è in grado di cancellare anche directory che non sono vuote, cancellandone prima ricorsivamente il contenuto.
Uso
La forma generale del comando è
rm [opzioni] file1 [file2 ...]
Tra le opzioni più usate vi sono:
- -r: rimuove ricorsivamente il contenuto delle directory specificate ed anche le directory stesse.
- -i: richiede conferma per ogni cancellazione.
- -f: ignora file non-esistenti e disabilita ogni richiesta di conferma ("force").
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 disco montato sul computer.
rm può essere usato insieme a xargs per cancellare i file elencati in un file di testo o determinati tramite il comando find. Ad esempio:
xargs rm < elenco.txt find . -type f -name "*.bak" -print | xargs rm -f
Particolarità
Il comando rm, alla pari di qualsiasi altro comando in ambiente Unix, può essere specificato come interprete di uno script dopo lo shabang: in questo caso, a prescindere dai comandi specificati nello script (che non verranno eseguiti), esso si autocancellerà.
Voci correlate
Collegamenti esterni
- (EN) rm su linuxmanpages
- (EN) rm
- Pagina man di rm