Evitare di eliminare accidentalmente file con il comando rm

by Jessica Lambiase on

Se abbiamo usato il terminale almeno una volta nella vita sappiamo, quasi per certo, che il comando usato per cancellare file, cartelle e quant’altro è il comando rm. Ciò che tuttavia passa inosservato, almeno finché non ci si ritrova letteralmente fregati, è che il comando rm elimina i file senza nessuna pietà.

Per impostazione predefinita esso non mostra nessuna richiesta di conferma e, silenziosamente, fa esattamente ciò per cui è stato progettato: eliminare un file. E, ovviamente, farlo senza passare dal cestino.

In realtà in alcuni sistemi operativi rm è impostato in modo da chiedere conferma solo e soltanto se si elimina un file protetto da scrittura; in altri casi, invece, l’eliminazione è istantanea e irreversibile.

Basta un attimo di distrazione, quindi, e si potrebbe cancellare un file per un altro senza volerlo e senza poterlo più recuperare (a meno che non si usino particolari e lunghe procedure di recupero).

In questa guida vedremo come evitare che ciò succeda: grazie ad un alias, andremo a far sì che il comando “rm” mostri un messaggio di conferma, al quale noi dovremo rispondere, ogni volta che eliminiamo un file o una cartella da terminale.

Aggiungere un messaggio di conferma a rm

Eseguiremo questa operazione aiutandoci con gli alias, ovvero con dei comandi personalizzati in grado di richiamare comandi bash o altri programmi.

Evitare di eliminare accidentalmente file con il comando rm

In pratica, grazie ad un alias faremo si che digitando rm da terminale venga in realtà invocato il comando

rm -i

Grazie al parametro aggiunto, infatti, rm chiederà conferma per l’eliminazione del file prima di procedere. Possiamo vedere la differenza tra i due comandi nell’immagine in basso:

Evitare di eliminare accidentalmente file con il comando rm

Per applicare questa modifica dovremo andare ad aggiungere l’alias al file ~/.bashrc, quello che definisce le variabili (e gli alias) personalizzati; per farlo, apriamo un terminale e digitiamo

echo alias "rm='rm -i'" >> ~/.bashrc

seguito da Invio e, per rendere effettiva la modifica, digitiamo anche

source ~/.bashrc

seguito da Invio. Ora, per rispondere affermativamente al messaggio di conferma ed eliminare il file, dovremo digitare seguito da invio; per rispondere negativamente ed annullare l’eliminazione dovremo premere invece seguito da Invio.

Evitare di eliminare accidentalmente file con il comando rm

Per ripristinare il vecchio comportamento di “rm”, liberandoci dunque del messaggio di notifica, dobbiamo aprire il file .bashrc ed eliminare la riga aggiunta in precedenza.

TIPper applicare la modifica a livello globale, dunque per tutti gli utenti, potremo aggiungere l’alias al file /etc/bashrc con il comando

sudo -s
echo alias "rm='rm -i'" >> /etc/bashrc

L'articolo Evitare di eliminare accidentalmente file con il comando rm appare per la prima volta su ChimeraRevo - Il miglior volto della tecnologia.

Leggi il contenuto originale su Linux – ChimeraRevo – Il miglior volto della tecnologia

Written by: Jessica Lambiase