Aktivér en bekræftelse, når du sletter filer og mapper med rm-kommando

De fleste kommandolinjebrugere ved, at kommandoen "rm" til fjernelse og sletning af filer er ret kraftig og kan slette næsten enhver fil, der kan forestilles i filsystemet - om det skal fjernes eller ej. Når du tilføjer jokertyper og sudo, rm og srm, fordi det er eksponentielt mere potent og potentielt farligt, så for avancerede brugere, der ønsker at tilføje et sikkerhedsniveau til rm-funktionen, kan de aktivere en bekræftelsesdialog med rm og srm-kommandoer. Dette giver også en nyttig beskyttelsesmekanisme til dem, der lærer kommandolinjen og ønsker at placere et lag af verifikation mellem øjeblikkelig sletning af filer og deres kommandoen udførelse.

Der er to dele til dette trick, den første er simpelthen at vide 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 for at gøre den ovennævnte fjernelse med bekræftelse til den nye standardindstilling for kommandoen rm. Begge disse tricks virker i Mac OS X, Linux og de fleste andre unix-variationer, så det er i høj grad operativsystemets agnostik, og det virker også med den kraftfulde srm-sikre fjernkommando. Dette er naturligvis rettet mod mere avancerede brugere, der er komfortable med kommandolinjen til at begynde med, idet brug af rm og srm ikke er egnede værktøjer til nybegyndere.

Brug af rm Kommando med bekræftelse, før du sletter filer og mapper

Syntaxen for at aktivere en bekræftelse, før du fjerner filer med rm (eller srm), er simpelthen et -i-flag, der bruges som sådan:

rm -i filename

Hvis du for eksempel ville slette en fil med navnet "theSampleFile.zip" og ønskede at få en bekræftelse, før fjernelsen af ​​kommandoen, ville du bruge følgende syntaks:

rm -i theSampleFile.zip

Når du er kommet tilbage, bliver du spurgt, om du vil fjerne det pågældende filnavn eller ej, med kommandoen at gentage den nøjagtige fil, før den sletter den som sådan:

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

At trykke på 'y' og returnere svarer med et 'ja' for at slette filen, og trykke på 'n' og retur-tasten svarer med et nej, og filen fjernes ikke.

Rm -i-syntaksen arbejder endda med -r for at få en bekræftelse før rekursivt sletning af mapper og filindhold i indeholdte undermapper:

rm -ir /Example/Folder/

Igen skal du udstede ay eller n før kommandoen vil fuldføre for hver enkelt fil, der findes i mappen.

At få den samme bekræftelsesdialog med srm bruger også -i-flag:

srm -i /Example/file.zip

Igen vil du bruge y og n tasterne til at bekræfte eller nægte fjernelse af specificerede filer.

Sådan aktiveres en 'rm' Command-bekræ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' syntaks 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'

Tilføjelse af begge dem til unikke linjer inden for profilen er tilstrækkelig, så forfriskende skallen tillader både at få adgang fra bash, zsh, tcsh eller alt efter hvad din skal er i brug.

Har du andre avancerede tip til at beskytte rm og srm på kommandolinjen, før du fjerner filer? Lad os vide i kommentarerne. Og hvis du bare vil lære mere interessante kommandolinjepunkter, kan du gennemse vores indlæg på det brede emne.