rm (Unix)
rm (abbreviazione dalla lingua inglese di remove, rimuovi) è un comando dei sistemi operativi Unix e Unix-like, e più in generale dei sistemi POSIX[1], 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 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 -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
Note
Voci correlate
Collegamenti esterni
- (EN) rm: Remove files or directories, in GNU Coreutils manual. URL consultato l'11-06-2008.
- (EN) rm su linuxmanpages
- (EN) rm