Schakel een bevestiging in bij het verwijderen van bestanden en mappen met rm Command

De meeste opdrachtregelgebruikers weten dat het "rm" -commando voor het verwijderen en verwijderen van bestanden behoorlijk krachtig is en bijna elk denkbaar bestand in het bestandssysteem kan verwijderen - ongeacht of het moet worden verwijderd of niet. Zodra u jokertekens en sudo, rm en srm toevoegt omdat ze exponentieel krachtiger en potentieel gevaarlijk zijn, kunnen geavanceerde gebruikers die een beveiligingslaag willen toevoegen aan de rm-functie, een bevestigingsvenster inschakelen met de opdrachten rm en srm. Dit biedt ook een nuttig beschermingsmechanisme voor degenen die de opdrachtregel aan het leren zijn en die een verificatielaag willen plaatsen tussen het onmiddellijk verwijderen van bestanden en het uitvoeren van de opdracht.

Deze truc bestaat uit twee delen, de eerste is gewoon de juiste vlag kennen om een ​​bevestiging in te schakelen en te gebruiken voordat een bestand of map wordt verwijderd met rm, en de tweede gebruikt een alias om het bovengenoemde te verwijderen met bevestiging in de nieuwe standaardoptie voor de opdracht rm. Beide trucs werken in Mac OS X, Linux en de meeste andere Unix-variaties, dus het is grotendeels besturingssysteem agnostisch, en het werkt ook met het krachtige SRR veilige verwijdercommando. Dit is duidelijk bedoeld voor meer gevorderde gebruikers die vertrouwd zijn met de commandolijn om mee te beginnen, omdat het gebruik van rm en srm geen geschikte hulpmiddelen zijn voor beginners.

Gebruik van rm Command met bevestiging voordat u bestanden en mappen verwijdert

De syntaxis om een ​​bevestiging mogelijk te maken voordat bestanden met rm (of srm) worden verwijderd, is gewoon een vlag -i, die als volgt wordt gebruikt:

rm -i filename

Als u bijvoorbeeld een bestand met de naam "theSampleFile.zip" wilt verwijderen en een bevestiging wilt voordat de opdracht wordt verwijderd, gebruikt u de volgende syntaxis:

rm -i theSampleFile.zip

Zodra je op Return hebt gedrukt, wordt je gevraagd of je de betreffende bestandsnaam wilt verwijderen, met de opdracht het exacte bestand terug te herhalen voordat het als volgt wordt verwijderd:

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

Door 'y' te raken en terug te komen, antwoordt u met een 'ja' om het bestand te verwijderen en door op 'n' te drukken en de antwoordsleutel terug te gaan, krijgt u een nee en wordt het bestand niet verwijderd.

De rm -i-syntaxis werkt zelfs met -r voor het verkrijgen van een bevestiging voordat recursief mappen en bestandsinhoud van ingesloten submappen worden verwijderd:

rm -ir /Example/Folder/

Nogmaals, u moet ay of n uitgeven voordat de opdracht wordt voltooid voor elk afzonderlijk bestand in de map.

Hetzelfde bevestigingsvenster krijgen met srm gebruikt ook de vlag -i:

srm -i /Example/file.zip

Nogmaals, je zou de y en n toetsen gebruiken om de verwijdering van gespecificeerde bestanden te bevestigen of te weigeren.

Hoe een 'rm' opdrachtbevestiging standaard in te schakelen met een alias

Open uw .bash_profile of .profile en u kunt een alias maken zoals op deze manier om de standaard 'rm'-syntaxis te wijzigen in' rm -i 'als de nieuwe standaard.

alias rm='rm -i'

U kunt hetzelfde type alias maken met srm zoals zo:

alias srm='srm -i'

Het toevoegen van beide aan unieke regels binnen het profiel is voldoende, daarna is het verversen van de shell zowel toegankelijk vanaf bash, zsh, tcsh, of welke shell dan ook in gebruik is.

Hebt u nog andere geavanceerde tips voor het beveiligen van rm en srm op de opdrachtregel voordat u bestanden verwijdert? Laat het ons weten in de comments. En als u alleen maar meer interessante opdrachtregel-tips wilt leren, bladert u door onze berichten over het brede onderwerp.