Activar una confirmació en suprimir fitxers & Carpetes amb l'ordre rm

Anonim

La majoria dels usuaris de la línia d'ordres saben que l'ordre "rm" per eliminar i suprimir fitxers és força potent, capaç d'esborrar gairebé qualsevol fitxer imaginable dins del sistema de fitxers, tant si s'ha d'eliminar com si no. Un cop afegiu comodins i sudo, rm i srm perquè són exponencialment més potents i potencialment perillosos, per tant, per als usuaris avançats que vulguin afegir una capa de seguretat a la funció rm, poden habilitar un diàleg de confirmació amb les ordres rm i srm.Això també ofereix un mecanisme de protecció útil per a aquells que estan aprenent la línia d'ordres i volen posar una capa de verificació entre l'eliminació instantània de fitxers i la seva execució d'ordres.

Hi ha dues parts en aquest truc, la primera és simplement conèixer la marca adequada per habilitar i utilitzar una confirmació abans d'esborrar un fitxer o carpeta amb rm, i la segona utilitza un àlies per fer l'esmentat anteriorment. elimina amb confirmació a la nova opció predeterminada per a l'ordre rm. Ambdós trucs funcionen a Mac OS X, Linux i la majoria de les altres variacions d'Unix, de manera que és en gran part independent del sistema operatiu, i també funciona amb la potent ordre d'eliminació segura srm. Això, òbviament, està dirigit a usuaris més avançats que se sentin còmodes amb la línia d'ordres per començar, ja que utilitzar rm i srm no són eines adequades per als novells.

Utilitzar l'ordre rm amb confirmació abans d'esborrar fitxers i carpetes

La sintaxi per habilitar una confirmació abans d'eliminar qualsevol fitxer amb rm (o srm) és simplement un senyalador -i, utilitzat així:

rm -i nom de fitxer

Per exemple, si suprimiu un fitxer anomenat “theSampleFile.zip” i volguéssiu tenir una confirmació abans d'eliminar l'ordre, utilitzaríeu la sintaxi següent:

rm -i theSampleFile.zip

Un cop premeu Retorn, se us demanarà si voleu o no eliminar el nom del fitxer en qüestió, amb l'ordre repetint el fitxer exacte abans que l'elimini així:

% rm -i theSampleFile.zip eliminar elSampleFile.zip? y

Premeu 'y' i retorn respon amb un 'sí' per eliminar el fitxer, i premeu 'n' i la tecla de retorn respon amb un no i el fitxer no s'eliminarà.

La sintaxi rm -i fins i tot funciona amb -r per obtenir una confirmació abans de suprimir de manera recursiva els directoris i el contingut dels fitxers de les subcarpetes:

rm -ir /Exemple/Carpeta/

Un altre cop hauràs d'emetre una y o una n abans que l'ordre es completi per a cada fitxer individual que es trobi dins del directori.

Aconseguir el mateix diàleg de confirmació amb srm també utilitza el senyalador -i:

srm -i /Example/file.zip

Un altre cop, utilitzaríeu les tecles y i n per confirmar o denegar l'eliminació dels fitxers especificats.

Com habilitar una confirmació d'ordres "rm" per defecte amb un àlies

Obre el teu .bash_profile o .profile i pots crear un àlies com aquest per canviar la sintaxi 'rm' per defecte a 'rm -i' perquè sigui la nova predeterminada.

alias rm='rm -i'

Podeu crear el mateix tipus d'àlies amb srm així:

alias srm='srm -i'

Afegir tots dos a línies úniques dins del perfil és suficient, aleshores actualitzar l'intèrpret d'ordres permetrà accedir a tots dos des de bash, zsh, tcsh o qualsevol que sigui el vostre intèrpret d'ordres.

Teniu altres consells avançats per protegir rm i srm a la línia d'ordres abans d'eliminar fitxers? Feu-nos-ho saber als comentaris. I si només vols .

Activar una confirmació en suprimir fitxers & Carpetes amb l'ordre rm