rm (Unix)

comando dei sistemi operativi Unix e Unix-like
Versione del 6 gen 2009 alle 18:49 di Ianezz (discussione | contributi) (agg. tem)
«Just don't create a file called -rf.  :-)»

rm (dall'inglese 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

  1. ^ (EN) rm, in The Open Group Base Specifications Issue 6 IEEE Std 1003.1, 2004 Edition. URL consultato l'11-06-2008.

Voci correlate

Collegamenti esterni

  Portale Informatica: accedi alle voci di Wikipedia che trattano di Informatica