Rm (Unix): differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
AlnoktaBOT (discussione | contributi)
m robot Modifico: pl:Rm (Unix)
Botcrux (discussione | contributi)
m Bot: Aggiungo template {{interprogetto}} (FAQ)
 
(48 versioni intermedie di 25 utenti non mostrate)
Riga 1:
{{Titolo minuscolo}}
{{titolo errato|titolo=rm (unix)}}
{{quoteCitazione|Just don't create a file called -rf. :-)|[[Larry Wall]], [[1991]]}}
 
'''rm''' (abbreviazione dalla [[lingua inglese]] di '''''r'''e'''m'''ove'', ''rimuovi'') è un comando dei [[Sistema operativo|sistemi operativi]] [[Unix]] per la cancellazione die [[fileUnix-like]], dale più in generale dei sistemi [[filesystemPOSIX]].<ref>{{cita web
|url=https://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]].
Le opzioni accettate da ''rm'' sono:
* -r, che rimuove il contenuto delle cartelle ricorsivamente.
* -i, richiede conferma per ogni cancellazione.
* -f, ignora file non-esistenti e sovrascrive ogni richiesta di conferma ("'''f'''orce").
 
Al contrario del comando [[rmdir]], ''rm'' è in grado di cancellare anche directory che non sono vuote, cancellandone prima [[Algoritmo ricorsivo|ricorsivamente]] il contenuto.
rm è spesso utilizzato con l'alias di "rm -i" per evitare cancellazioni accidentali di file. Se un utente desidera cancellare un largo numero di file senza la richiesta di conferma, può manualmente cancellare il parametro -i aggiungendo l'opzione -f.
 
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.
'''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 (utente)|root]]) causerebbe la cancellazione dei contenuti in ogni [[hard disk|disco]] [[mount_(Unix)|montato]] sul computer.
 
== Sintassi ==
rm è spesso usato insieme a [[xargs]] per fornire la lista dei file:
La sintassi generale del comando ''rm'' è:
xargs rm <filelist
rm [''opzioni''] [--] ''arg1'' [''arg2'' …]
 
I parametri ''arg'' indicano i nomi dei file e/o delle directory da rimuovere.
 
Il doppio trattino <kbd>--</kbd> (facoltativo) indica che i parametri successivi non sono da considerarsi opzioni.
 
Tra le opzioni di uso comune vi sono:
; <kbd>-r</kbd> oppure <kbd>-R</kbd>: Rimuove ricorsivamente il contenuto delle directory specificate ed anche le directory stesse.
*; <kbd>-i,</kbd>: richiedeRichiede conferma per ogni cancellazione.
*; <kbd>-f,</kbd>: ignoraIgnora file non- esistenti e sovrascrivedisabilita ogni richiesta di conferma ("dall'inglese '''''f'''orce"'', ''forza'' nel senso di ''forzare'').
 
''rm'' è spesso utilizzato con l'alias di "<kbd>rm -i</kbd>" per evitare cancellazioni accidentali; dise file.in Sequesto uncaso utentesi desideravolesse cancellare un largogran numero di file senza la richiesta di conferma, si può manualmenteannullare cancellarel'effetto il parametrodell'opzione <kbd>-i</kbd> specificando aggiungendoanche l'opzione <kbd>-f</kbd>.
 
'''rm -rf''' (e varianti, "<kbd>rm -rf /</kbd>", "<kbd>rm -rf *</kbd>", e altre) sono frequentemente utilizzate in scherzi e aneddoti su disastri in ambienti Unix.: Lala variante <kbd>rm -rf /</kbd>, infatti, se utilizzata da un amministratore ([[Root (utente)|root]]) causerebbe la cancellazione dei contenuti in ogni [[hard''file disk|disco]]system'' [[mount_(Unix)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 <filelist elenco.txt
 
find . -type f -name "*.bak" -print | xargs rm -f
 
== Note ==
<references/>
 
== Voci correlate ==
* [[rmdir (Unix)|rmdir]], [[cp (Unix)|cp]],rimuove [[mvdirectory (Unixvuote)|mv]]
* [[cp (Unix)]] (copia file e directory)
* [[GNU/Linux]]
* [[mv (Unix)]] (rinomina o sposta file e directory)
* [[Shell (informatica)|Shell]] ([[Bash]])
 
== Altri progetti ==
{{interprogetto}}
 
== Collegamenti esterni ==
* {{cita web
* {{en}} [http://www.linuxmanpages.com/man1/rm.1.php rm su ''linuxmanpages'']
|url=https://www.gnu.org/software/coreutils/manual/html_node/rm-invocation.html
* {{en}} [http://www.ss64.com/bash/rm.html rm]
|titolo=rm: Remove files or directories
* [http://www.shellbox.it/man-rm.html Pagina man di rm]
|accesso=11-06-2008
|opera=GNU Coreutils manual
|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:Rm]]
[[bg:Rm]]
[[de:Rm (Unix)]]
[[en:Rm (Unix)]]
[[es:Rm]]
[[fr:Rm (Unix)]]
[[ja:Rm (UNIX)]]
[[ko:Rm]]
[[nl:Rm (Unix)]]
[[pl:Rm (Unix)]]
[[pt:Rm]]
[[ru:Rm]]