Activați o confirmare la ștergerea fișierelor & Foldere cu comanda rm

Anonim

Majoritatea utilizatorilor de linie de comandă știu că comanda „rm” pentru ștergerea și ștergerea fișierelor este destul de puternică, capabilă să ștergă aproape orice fișier imaginabil în sistemul de fișiere – indiferent dacă ar trebui să fie eliminat sau nu. Odată ce adăugați caractere metalice și sudo, rm și srm, deoarece exponențial mai puternice și potențial periculoase, astfel încât utilizatorii avansați care doresc să adauge un nivel de securitate la caracteristica rm pot activa un dialog de confirmare cu comenzile rm și srm.Acest lucru oferă, de asemenea, un mecanism de protecție util pentru cei care învață linia de comandă și doresc să plaseze un nivel de verificare între ștergerea instantanee a fișierelor și executarea comenzii lor.

Există două părți ale acestui truc, prima este pur și simplu cunoașterea semnalizatorului adecvat pentru a activa și a utiliza o confirmare înainte ca un fișier sau folder să fie șters cu rm, iar a doua folosește un alias pentru a face cele menționate mai sus. eliminați cu confirmare în noua opțiune implicită pentru comanda rm. Ambele trucuri funcționează în Mac OS X, Linux și majoritatea celorl alte variații Unix, deci este în mare parte agnostic al sistemului de operare și funcționează și cu puternica comandă srm secure remove. Acest lucru se adresează, evident, utilizatorilor mai avansați, care sunt confortabili cu linia de comandă pentru început, deoarece utilizarea rm și srm nu sunt instrumente adecvate pentru începători.

Folosirea comenzii rm cu confirmare înainte de a șterge fișiere și foldere

Sintaxa pentru a activa o confirmare înainte de a elimina orice fișiere cu rm (sau srm) este pur și simplu un steag -i, folosit astfel:

rm -i nume de fișier

De exemplu, dacă ar fi să ștergeți un fișier numit „theSampleFile.zip” și ați dori să aveți o confirmare înainte de eliminarea comenzii, ați folosi următoarea sintaxă:

rm -i theSampleFile.zip

Odată ce ați apăsat pe Return, veți fi întrebat dacă doriți sau nu să eliminați numele fișierului în cauză, comanda repetând fișierul exact înainte de a-l șterge astfel:

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

Apăsând „y” și returnează răspunde cu „da” pentru a șterge fișierul, iar apăsând „n” și tasta return răspunde cu un nu și fișierul nu va fi șters.

Sintaxa rm -i funcționează chiar și cu -r pentru a obține o confirmare înainte de a șterge recursiv directoarele și conținutul fișierelor din subfolderele conținute:

rm -ir /Exemplu/Folder/

Din nou va trebui să emiti un y sau un n înainte ca comanda să se finalizeze pentru fiecare fișier individual găsit în director.

Obținerea aceluiași dialog de confirmare cu srm folosește și steag-ul -i:

srm -i /Exemplu/fișier.zip

Din nou, ai folosi tastele y și n pentru a confirma sau a respinge ștergerea fișierelor specificate.

Cum să activați o confirmare de comandă „rm” în mod implicit cu un alias

Deschideți .bash_profile sau .profile și puteți crea un alias astfel pentru a schimba sintaxa implicită „rm” la „rm -i” pentru a fi noul implicit.

alias rm='rm -i'

Puteți crea același tip de alias cu srm așa:

alias srm='srm -i'

Adăugarea ambelor linii la linii unice din profil este suficientă, apoi reîmprospătarea shell-ului va permite accesul ambelor din bash, zsh, tcsh sau din oricare din shell-ul utilizat.

Aveți alte sfaturi avansate pentru protejarea rm și srm la linia de comandă înainte de a elimina fișierele? Spune-ne în comentarii. Și dacă vrei doar să .

Activați o confirmare la ștergerea fișierelor & Foldere cu comanda rm