Omogoči potrditev pri brisanju datotek & mape z ukazom rm

Anonim

Večina uporabnikov ukazne vrstice ve, da je ukaz »rm« za odstranjevanje in brisanje datotek zelo zmogljiv, saj lahko izbriše skoraj vsako datoteko, ki si jo lahko zamislite v datotečnem sistemu - ne glede na to, ali jo je treba odstraniti ali ne. Ko dodate nadomestne znake in sudo, sta rm in srm eksponentno močnejša in potencialno nevarna, zato lahko za napredne uporabnike, ki želijo dodati plast varnosti funkciji rm, omogočijo potrditveno pogovorno okno z ukazoma rm in srm.To ponuja tudi koristen zaščitni mehanizem za tiste, ki se učijo ukazne vrstice in želijo postaviti plast preverjanja med takojšnjim izbrisom datotek in njihovim izvajanjem ukaza.

Ta trik je sestavljen iz dveh delov, prvi je preprosto poznavanje ustrezne zastavice za omogočanje in uporabo potrditve, preden je datoteka ali mapa izbrisana z rm, drugi pa uporablja vzdevek, da naredi zgoraj omenjeno odstranite s potrditvijo v novo privzeto možnost za ukaz rm. Oba trika delujeta v Mac OS X, linuxu in večini drugih različic unixa, zato je v veliki meri neodvisen od operacijskega sistema, deluje pa tudi z zmogljivim ukazom srm varno odstranjevanje. To je očitno namenjeno naprednejšim uporabnikom, ki jim je ukazna vrstica všeč, saj uporaba rm in srm nista primerni orodji za novince.

Uporaba ukaza rm s potrditvijo pred brisanjem datotek in map

Skladnja za omogočanje potrditve pred odstranitvijo katere koli datoteke z rm (ali srm) je preprosto zastavica -i, uporabljena takole:

rm -i ime datoteke

Če bi na primer želeli izbrisati datoteko z imenom »theSampleFile.zip« in bi želeli imeti potrditev pred odstranitvijo ukaza, bi uporabili naslednjo sintakso:

rm -i theSampleFile.zip

Ko pritisnete tipko return, boste pozvani, ali želite odstraniti zadevno ime datoteke ali ne, pri čemer ukaz ponovi točno datoteko, preden jo izbriše takole:

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

Če pritisnete 'y' in return, odgovorite z 'da', da izbrišete datoteko, in pritisnete 'n' in tipko return, se odzovete z ne in datoteka ne bo odstranjena.

Sintaksa rm -i deluje celo z -r za pridobitev potrditve pred rekurzivnim brisanjem imenikov in vsebine datotek v vsebovanih podmapah:

rm -ir /Example/Folder/

Spet boste morali izdati y ali n, preden se bo ukaz dokončal za vsako posamezno datoteko v imeniku.

Pridobivanje istega potrditvenega pogovornega okna s srm uporablja tudi zastavico -i:

srm -i /Example/file.zip

Spet bi uporabili tipki y in n za potrditev ali zavrnitev odstranitve določenih datotek.

Kako omogočiti privzeto potrditev ukaza 'rm' z vzdevkom

Odprite svoj .bash_profile ali .profile in lahko ustvarite vzdevek, kot je ta, da spremenite privzeto sintakso 'rm' v 'rm -i', ki bo nova privzeta vrednost.

alias rm='rm -i'

Isto vrsto vzdevka lahko ustvarite s srm takole:

alias srm='srm -i'

Zadostuje dodajanje obeh v enolične vrstice v profilu, nato pa bo osvežitev ukazne lupine omogočila dostop do obeh prek bash, zsh, tcsh ali katerekoli lupine, ki jo uporabljate.

Imate še kakšne napredne nasvete za zaščito rm in srm v ukazni vrstici pred odstranjevanjem datotek? Sporočite nam v komentarjih. In če samo želite .

Omogoči potrditev pri brisanju datotek & mape z ukazom rm