Comando rm di Linux: opzioni di rm -rf e come eliminare senza conferma

Informativa sull'affiliazione v3.1
Informativa sull'affiliazione v3.2 (solo mobile)
Ambiente di testFamiglia RHELAlmaLinux 9.8account rootVerificato il 05/10/2026

Con il comando rm, i file eliminati spariscono subito, senza passare dal cestino. rm è l'abbreviazione di remove ed elimina file e directory; questo articolo spiega l'uso di base, le opzioni e perché la directory root resta anche se esegui [rm -rf /].

Su AlmaLinux 9.8 l'account root ha di default [alias rm='rm -i'], quindi chiede conferma prima di eliminare. Per i sistemi Linux senza questa impostazione, l'articolo mostra anche come aggiungere l'alias da te.

✅ Uso di base

La sintassi di base è la seguente.

rm -opzioni bersaglio: File o directory
Con il comando rm

Un file si elimina col solo nome; una directory solo aggiungendo l'opzione -r.

# eliminare un file
rm file1
# eliminare più file
rm file1 file2
# eliminare una directory con tutto il contenuto
rm -r dir1/
# eliminare una directory vuota
rm -d dir1/
~]# rm dir1/
rm: cannot remove 'dir1/': Is a directory

Se indichi una directory senza opzioni, non viene eliminata, come sopra.

Eliminare un link simbolico toglie solo il link; il file a cui punta resta al suo posto. Per controllare prima e dopo l'eliminazione, usa anche il comando ls.

✅ rm -rf: eliminare senza conferma

Il comando rm chiede [remove regular file] perché sull'account root rm gira tramite l'alias [rm -i].

~]# rm file1
rm: remove regular file 'file1'? y
~]# alias rm
alias rm='rm -i'

Eliminare una directory con l'opzione -r chiede conferma entrando in ogni directory e per ogni file, il che diventa noioso con molti file.

~]# rm -r logs/
rm: descend into directory 'logs/'? y
rm: remove regular file 'logs/access.log'? y
rm: remove regular empty file 'logs/error.log'? y
rm: remove directory 'logs/'? y

In quel caso aggiungi l'opzione -f: elimina senza conferma e non dà errore anche se il file non esiste.

rm -rf logs/

Mettere una barra rovesciata [\] davanti al comando per saltare l'alias, o mettere [yes |] davanti perché a ogni domanda venga inserito y, dà lo stesso risultato.

\rm -r logs/
yes | rm -r logs/

✅ Opzioni del comando rm & simulatore

OpzioneDescrizione
-f--forceElimina senza conferma e non dà errore per file inesistenti
-iChiede conferma all'utente prima di ogni eliminazionealias rm='rm -i'
-I(i maiuscola)Chiede una sola volta con quattro o più file o con -r
-r, -R--recursiveElimina una directory insieme a sottodirectory e file
-d--dirElimina una directory vuota
-v--verboseStampa ogni file e directory eliminati su una riga
--preserve-rootNon elimina la directory root (/) (predefinito)
--no-preserve-rootDisattiva la protezione della directory root (/)
Simulatore del comando rmalias rm='rm -i'
[root@server work]#
Funziona solo nel tuo browser e non tocca file reali. Digita rm con opzioni diverse e controlla il risultato con ls e cat. I file eliminati tornano quando premi [Start over]. Usa i tasti ↑↓ per richiamare i comandi precedenti e digita uknew help per vedere i comandi disponibili.

✅ rm -rf /: proteggere la directory root

Nel lavoro di hosting capita di eliminare file che non andavano toccati. Quasi tutti si recuperano da un backup, ma una volta eliminata la directory root il ripristino è una seccatura anche con uno snapshot. Ho sentito più volte di casi in cui un rm -rf sbagliato non si è potuto annullare.

Il comando rm applica di default l'opzione [--preserve-root], quindi la directory root non viene eliminata anche se esegui [rm -rf /].

~]# rm -rf /
rm: it is dangerous to operate recursively on '/'
rm: use --no-preserve-root to override this failsafe

Non blocca però [rm -rf /*]. La shell sostituisce [/*] con nomi di directory come /bin, /etc e /home prima di passarli, quindi rm elimina ciascuna di quelle directory invece di [/].

Un'installazione nuova di AlmaLinux 9.8 ha gli alias -i di rm, cp e mv in [/root/.bashrc], come qui sotto. Gli account utente normali non hanno questi alias.

~]# grep alias /root/.bashrc
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'

Su un account o un sistema Linux senza l'alias, aggiungi una riga in fondo a [~/.bashrc] e ricaricalo.

# aggiungi in fondo a ~/.bashrc
alias rm='rm -i'
# ricarica
source ~/.bashrc
linux Free Software

ℹ️ Informativa sull'affiliazione
I contenuti di questo sito includono link di affiliazione. Se un visitatore acquista un prodotto o un servizio tramite uno di questi link, il sito riceve una commissione dal venditore. In questo processo l'importo pagato dall'acquirente (durante le promozioni l'importo scende↓) non aumenta. Prezzi, sconti e disponibilità indicati si riferiscono al momento della stesura e possono differire da quelli reali: prima di acquistare verifica sempre presso il venditore. I prodotti vengono scelti e valutati secondo criteri propri, e le commissioni non influiscono sull'ordine di presentazione né sul contenuto delle valutazioni.