Aktiver en bekræftelse ved sletning af filer & Mapper med rm-kommando

Anonim

De fleste kommandolinjebrugere ved, at "rm"-kommandoen til at fjerne og slette filer er ret kraftfuld, i stand til at slette stort set alle tænkelige filer i filsystemet - uanset om den skal fjernes eller ej. Når du først tilføjer jokertegn og sudo, rm og srm, fordi de er eksponentielt mere potente og potentielt farlige, så for avancerede brugere, der ønsker at tilføje et lag af sikkerhed til rm-funktionen, kan de aktivere en bekræftelsesdialog med rm- og srm-kommandoerne.Dette tilbyder også en nyttig beskyttelsesmekanisme for dem, der lærer kommandolinjen og ønsker at placere et lag af verifikation mellem den øjeblikkelige sletning af filer og deres kommandoudførelse.

Der er to dele af dette trick, den første er simpelthen at kende det korrekte flag for at aktivere og bruge en bekræftelse, før en fil eller mappe slettes med rm, og den anden bruger et alias til at lave det førnævnte fjern med bekræftelse til den nye standardindstilling for rm-kommandoen. Begge disse tricks virker i Mac OS X, linux og de fleste andre unix-variationer, så det er stort set operativsystemagnostisk, og det virker også med den kraftfulde srm secure remove-kommando. Dette er tydeligvis rettet mod, at mere avancerede brugere er komfortable med kommandolinjen til at begynde med, da brug af rm og srm ikke er passende værktøjer for begyndere.

Brug af rm-kommando med bekræftelse før sletning af filer og mapper

Syntaksen til at aktivere en bekræftelse før fjernelse af filer med rm (eller srm) er simpelthen et -i flag, brugt sådan:

rm -i filnavn

Hvis du f.eks. skulle slette en fil med navnet "theSampleFile.zip" og ville have en bekræftelse inden fjernelse af kommandoen, ville du bruge følgende syntaks:

rm -i theSampleFile.zip

Når du trykker på retur, bliver du spurgt, om du ønsker at fjerne det pågældende filnavn eller ej, med kommandoen, der gentager den nøjagtige fil tilbage, før den sletter den sådan:

% rm -i theSampleFile.zip fjerne prøvefilen.zip? y

rm -i syntaksen fungerer endda med -r for at få en bekræftelse, før du rekursivt sletter mapper og filindhold i indeholdte undermapper:

rm -ir /Example/Folder/

Igen bliver du nødt til at udstede et y eller n, før kommandoen fuldføres for hver enkelt fil, der findes i mappen.

Få den samme bekræftelsesdialog med srm bruger også flaget -i:

srm -i /Example/file.zip

Igen, du ville bruge tasterne y og n til at bekræfte eller afvise fjernelse af specificerede filer.

Sådan aktiverer du en 'rm' kommandobekræftelse som standard med et alias

Åbn din .bash_profile eller .profile, og du kan oprette et alias som sådan for at ændre standard 'rm'-syntaksen til 'rm -i' for at være den nye standard.

alias rm='rm -i'

Du kan oprette den samme type alias med srm som sådan:

alias srm='srm -i'

Det er tilstrækkeligt at tilføje begge disse til unikke linjer inden for profilen, så genopfriskning af shellen giver mulighed for at få adgang til begge fra bash, zsh, tcsh eller hvilken som helst din shell er i brug.

Har du andre avancerede tips til at beskytte rm og srm på kommandolinjen, før du fjerner filer? Fortæl os det i kommentarerne. Og hvis du bare vil .

Aktiver en bekræftelse ved sletning af filer & Mapper med rm-kommando