Aktiver en bekreftelse når du sletter filer og mapper med rm-kommandoen

De fleste kommandolinjebrukerne vet at kommandoen "rm" for å fjerne og slette filer er ganske kraftig, og kan slette omtrent alle filer som kan forestilles i filsystemet, enten det skal fjernes eller ikke. Når du legger til jokertegn og sudo, rm og srm fordi det er eksponentielt mer potent og potensielt farlig, så for avanserte brukere som ønsker å legge til i et lag av sikkerhet til rm-funksjonen, kan de aktivere en bekreftelsesdialog med rm og srm-kommandoene. Dette gir også en nyttig beskyttelsesmekanisme for de som lærer kommandolinjen, og ønsker å legge et lag av verifisering mellom øyeblikkelig sletting av filer og deres kommandoen kjøring.

Det er to deler til dette trikset, den første er rett og slett å vite riktig flagg for å aktivere og bruke en bekreftelse før en fil eller mappe blir slettet med rm, og den andre bruker et alias for å gjøre ovennevnte fjerning med bekreftelse til det nye standardalternativet for kommandoen rm. Begge disse triksene fungerer i Mac OS X, Linux og de fleste andre Unix-variasjoner, så det er i stor grad operativsystemet agnostisk, og det fungerer også med den kraftige srm-sikker fjernkommandoen også. Dette er åpenbart rettet mot at mer avanserte brukere er komfortable med kommandolinjen til å begynne med, idet bruk av rm og srm ikke er passende verktøy for nybegynnere.

Bruke rm Kommandoen med bekreftelse før du sletter filer og mapper

Syntaxen for å aktivere en bekreftelse før du fjerner filer med rm (eller srm) er ganske enkelt et -i-flagg, som brukes slik:

rm -i filename

Hvis du for eksempel skulle slette en fil med navnet "theSampleFile.zip" og ønsket å få en bekreftelse før fjerning av kommandoen, bruker du følgende syntaks:

rm -i theSampleFile.zip

Når du slår tilbake, blir du spurt om du vil fjerne filnavnet eller ikke, med kommandoen gjentatte tilbake den nøyaktige filen før den sletter den slik:

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

Å trykke 'y' og retur svarer med et ja for å slette filen, og å trykke 'n' og retur-tasten svarer med et nei, og filen vil ikke bli fjernet.

Rm -i-syntaksen fungerer selv med -r for å få en bekreftelse før rekursivt sletting av kataloger og filinnhold i inneholdt undermapper:

rm -ir /Example/Folder/

Igjen må du utstede ay eller n før kommandoen vil fullføre for hver enkelt fil som finnes i katalogen.

Å få samme bekreftelsesdialog med srm bruker også -i-flagget:

srm -i /Example/file.zip

Igjen, ville du bruke y og n-tastene for å bekrefte eller nekte fjerning av spesifiserte filer.

Slik aktiverer du en 'rm' kommandobekreftelse som standard med et alias

Åpne din .bash_profile eller .profile, og du kan opprette et alias som for eksempel for å endre standard rm-syntaks til 'rm -i' for å være den nye standard.

alias rm='rm -i'

Du kan opprette samme type alias med srm slik:

alias srm='srm -i'

Hvis du legger til begge disse til unike linjer i profilen, er det tilstrekkelig, da forfriskende skallet vil tillate både å få tilgang fra bash, zsh, tcsh, eller alt etter hvilket skallet ditt er i bruk.

Har du noen andre avanserte tips for å beskytte rm og srm på kommandolinjen før du fjerner filer? Gi oss beskjed i kommentarene. Og hvis du bare vil lære mer interessante kommandolinjepunkter, kan du bla gjennom innleggene våre på det brede emnet.