Abilita una conferma durante l'eliminazione dei file & Cartelle con il comando rm

Anonim

La maggior parte degli utenti della riga di comando sa che il comando "rm" per rimuovere ed eliminare i file è abbastanza potente, in grado di eliminare praticamente qualsiasi file immaginabile all'interno del file system, indipendentemente dal fatto che debba essere rimosso o meno. Una volta aggiunti caratteri jolly e sudo, rm e srm perché esponenzialmente più potenti e potenzialmente pericolosi, quindi per gli utenti avanzati che desiderano aggiungere un livello di sicurezza alla funzione rm possono abilitare una finestra di dialogo di conferma con i comandi rm e srm.Ciò offre anche un utile meccanismo di protezione per coloro che stanno imparando la riga di comando e desiderano inserire un livello di verifica tra l'eliminazione istantanea dei file e l'esecuzione dei comandi.

Ci sono due parti in questo trucco, la prima è semplicemente conoscere il flag appropriato per abilitare e usare una conferma prima che un file o una cartella venga cancellato con rm, e la seconda usa un alias per fare quanto sopra remove con conferma nella nuova opzione predefinita per il comando rm. Entrambi questi trucchi funzionano in Mac OS X, Linux e nella maggior parte delle altre varianti di Unix, quindi è in gran parte indipendente dal sistema operativo e funziona anche con il potente comando srm secure remove. Questo è ovviamente rivolto agli utenti più avanzati che si sentono a proprio agio con la riga di comando, poiché l'utilizzo di rm e srm non sono strumenti appropriati per i principianti.

Utilizzare il comando rm con conferma prima di eliminare file e cartelle

La sintassi per abilitare una conferma prima di rimuovere qualsiasi file con rm (o srm) è semplicemente un flag -i, usato così:

rm -i nomefile

Ad esempio, se dovessi eliminare un file chiamato "theSampleFile.zip" e volessi avere una conferma prima della rimozione del comando, dovresti usare la seguente sintassi:

rm -i theSampleFile.zip

Una volta premuto Invio, ti verrà chiesto se desideri o meno rimuovere il nome del file in questione, con il comando che ripeterà il file esatto prima di eliminarlo in questo modo:

% rm -i theSampleFile.zip remove theSampleFile.zip? y

Premendo 'y' e invio si risponde con un 'sì' per eliminare il file, premendo 'n' e invio si risponde con un no e il file non verrà rimosso.

La sintassi rm -i funziona anche con -r per ottenere una conferma prima di eliminare ricorsivamente le directory e il contenuto dei file delle sottocartelle contenute:

rm -ir /Esempio/Cartella/

Ancora una volta dovrai inserire una y o una n prima che il comando venga completato per ogni singolo file trovato all'interno della directory.

Ottenere la stessa finestra di dialogo di conferma con srm utilizza anche il flag -i:

srm -i /Esempio/file.zip

Ancora una volta, dovresti usare i tasti y e n per confermare o negare la rimozione dei file specificati.

Come abilitare una conferma del comando 'rm' per impostazione predefinita con un alias

Apri il tuo .bash_profile o .profile e puoi creare un alias in questo modo per cambiare la sintassi predefinita di 'rm' in 'rm -i' per essere il nuovo valore predefinito.

alias rm='rm -i'

Puoi creare lo stesso tipo di alias con srm in questo modo:

alias srm='srm -i'

È sufficiente aggiungere entrambi a linee univoche all'interno del profilo, quindi aggiornare la shell consentirà l'accesso a entrambe da bash, zsh, tcsh o qualsiasi altra shell sia in uso.

Hai altri suggerimenti avanzati per salvaguardare rm e srm dalla riga di comando prima di rimuovere i file? Fateci sapere nei commenti. E se vuoi solo .

Abilita una conferma durante l'eliminazione dei file & Cartelle con il comando rm