Rm (Unix): differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
TXiKiBoT (discussione | contributi)
m Bot: Aggiungo: ca:Rm
Botcrux (discussione | contributi)
m Bot: Aggiungo template {{interprogetto}} (FAQ)
 
(25 versioni intermedie di 20 utenti non mostrate)
Riga 1:
{{Titolo minuscolo}}
{{quoteCitazione|Just don't create a file called -rf. :-)|[[Larry Wall]], [[1991]]}}
 
'''rm''' (dall'abbreviazione dalla [[lingua inglese]] di '''''r'''e'''m'''ove'', ''rimuovi'') è un comando dei [[Sistema operativo|sistemi operativi]] [[Unix]] e [[Unix-like]], e più in generale dei sistemi [[POSIX]]<ref>{{cita web
|url=httphttps://www.opengroup.org/onlinepubs/000095399/utilities/rm.html
|titolo=rm
|accesso=11-06-2008
|opera=The Open Group Base Specifications Issue 6 IEEE Std 1003.1, 2004 Edition
|lingua=en
}}</ref>, che cancella [[file]] e [[directory]] dal ''[[file system]]''., posto che si abbiano i [[Permessi (Unix)|permessi]] necessari.
 
Più precisamente, ''rm'' rimuove uno o più [[Collegamento fisico|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 (informatica)|processo]].
Riga 14:
Al contrario del comando [[rmdir]], ''rm'' è in grado di cancellare anche directory che non sono vuote, cancellandone prima [[Algoritmo ricorsivo|ricorsivamente]] il contenuto.
 
Da notare che la possibilità di rimuovere un file è data non tanto dai permessi sul file stesso, quanto dai permessi (di scrittura) della directory che lo contiene, in quanto ciò che viene realmente modificato è appunto la directory che lo contiene.
== Uso ==
 
== UsoSintassi ==
La sintassi generale del comando ''rm'' è:
rm [''opzioni''] [--] ''arg1'' [''arg2'' …]
Line 20 ⟶ 22:
I parametri ''arg'' indicano i nomi dei file e/o delle directory da rimuovere.
 
Il doppio trattino <ttkbd>--</ttkbd> (facoltativo) indica che i parametri successivi non sono da considerarsi opzioni.
 
Tra le opzioni di uso comune vi sono:
; <ttkbd>-r</ttkbd> oppure <ttkbd>-R</ttkbd>: Rimuove ricorsivamente il contenuto delle directory specificate ed anche le directory stesse.
; <ttkbd>-i</ttkbd>: Richiede conferma per ogni cancellazione.
; <ttkbd>-f</ttkbd>: Ignora file non esistenti e disabilita ogni richiesta di conferma (dall'inglese '''''f'''orce'', ''forza'' nel senso di ''forzare'').
 
''rm'' è spesso utilizzato con l'alias di "<ttkbd>rm -i</ttkbd>" 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 <ttkbd>-i</ttkbd> specificando anche l'opzione <ttkbd>-f</ttkbd>.
 
'''rm -rf''' (e varianti, "<ttkbd>rm -rf /</ttkbd>", "<ttkbd>rm -rf *</ttkbd>", e altre) sono frequentemente utilizzate in scherzi e aneddoti su disastri in ambienti Unix: la variante <ttkbd>rm -rf /</ttkbd>, infatti, se utilizzata da un amministratore ([[Root (utente)|root]]) causerebbe la cancellazione dei contenuti in ogni ''file system'' [[Mount|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 <kbd>--preserve-root</kbd>, 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 (Unix)|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
 
Line 40 ⟶ 42:
 
== Voci correlate ==
* [[Rmdirrmdir]] (rimuove directory vuote)
* [[Cpcp (Unix)]] (copia file e directory)
* [[Mvmv (Unix)]] (rinomina o sposta file e directory)
* [[Shell (informatica)|Shell]] ([[Bash]])
 
== Altri progetti ==
{{interprogetto}}
 
== Collegamenti esterni ==
* {{cita web
|url=httphttps://www.gnu.org/software/coreutils/manual/html_node/rm-invocation.html
|titolo=rm: Remove files or directories
|accesso=11-06-2008
Line 53 ⟶ 58:
|lingua=en
}}
* {{en}}cita [web|http://www.linuxmanpages.com/man1/rm.1.php |rm su ''linuxmanpages'']|lingua=en}}
* {{en}}cita [httpweb|https://www.ss64.com/bash/rm.html |rm]|lingua=en}}
 
{{Comandi Unix}}
{{Portale|Informatica}}
 
[[Categoria:Unix]]
[[Categoria:Comandi Unix/Linux]]
[[Categoria:Coreutils]]
 
[[ar:آر إم]]
[[bg:Rm]]
[[ca:Rm]]
[[cs:Rm (Unix)]]
[[de:Rm (Unix)]]
[[en:Rm (Unix)]]
[[es:Rm]]
[[fi:Rm (Unix)]]
[[fr:Rm (Unix)]]
[[ja:Rm (UNIX)]]
[[ko:Rm (유닉스)]]
[[nl:Rm (Unix)]]
[[pl:Rm (Unix)]]
[[pt:Rm]]
[[ru:Rm]]
[[uk:Rm]]