rm (Unix)
rm (dall'inglese remove, rimuovi) è un comando dei sistemi operativi Unix e Unix-like, e più in generale dei sistemi POSIX, 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 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 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 è
rm [opzioni] arg1 [arg2 ...]
I parametri arg indicano i nomi dei file o directory da rimuovere.
Tra le opzioni di uso comune vi sono:
- -r oppure -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 (dall'inglese force, forza 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.
rm può essere usato insieme a xargs per rimuovere 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, in The Open Group Base Specifications Issue 6 IEEE Std 1003.1, 2004 Edition. URL consultato l'11-06-2008.
- (EN) rm: Remove files or directories, in GNU Coreutils manual. URL consultato l'11-06-2008.
- (EN) rm su linuxmanpages
- (EN) rm