Een bevestiging inschakelen bij het verwijderen van bestanden & Mappen met rm Command

Anonim

De meeste gebruikers van de opdrachtregel weten dat de opdracht "rm" voor het verwijderen en verwijderen van bestanden behoorlijk krachtig is en in staat is om vrijwel elk denkbaar bestand binnen het bestandssysteem te verwijderen - of het nu moet worden verwijderd of niet. Zodra u jokertekens en sudo toevoegt, zijn rm en srm exponentieel krachtiger en potentieel gevaarlijk, dus voor geavanceerde gebruikers die een beveiligingslaag aan de rm-functie willen toevoegen, kunnen ze een bevestigingsdialoogvenster inschakelen met de rm- en srm-opdrachten.Dit biedt ook een handig beschermingsmechanisme voor diegenen die de opdrachtregel leren en een verificatielaag willen plaatsen tussen het onmiddellijk verwijderen van bestanden en de uitvoering van de opdracht.

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

RM Command gebruiken met bevestiging voordat bestanden en mappen worden verwijderd

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

rm -i bestandsnaam

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

rm -i theSampleFile.zip

Zodra u op Return drukt, wordt u gevraagd of u de betreffende bestandsnaam wilt verwijderen, waarbij het commando het exacte bestand herha alt voordat het wordt verwijderd, zoals:

% rm -i theSampleFile.zip theSampleFile.zip verwijderen? j

Door op 'y' en return te drukken wordt met 'ja' gereageerd om het bestand te verwijderen, en door op 'n' en return-toets te drukken wordt met nee gereageerd en wordt het bestand niet verwijderd.

De syntaxis van rm -i werkt zelfs met -r om een ​​bevestiging te krijgen voordat recursief mappen en bestandsinhoud van ingesloten submappen worden verwijderd:

rm -ir /Example/Folder/

Nogmaals, je moet een y of n geven voordat de opdracht wordt voltooid voor elk afzonderlijk bestand dat in de map wordt gevonden.

Het verkrijgen van dezelfde bevestigingsdialoog met srm gebruikt ook de vlag -i:

srm -i /Voorbeeld/bestand.zip

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

Een 'rm'-opdrachtbevestiging standaard inschakelen met een alias

Open je .bash_profile of .profile en je kunt een alias zoals deze maken 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:

alias srm='srm -i'

Het is voldoende om beide toe te voegen aan unieke regels binnen het profiel, daarna zal het verversen van de shell ervoor zorgen dat beide toegankelijk zijn vanuit bash, zsh, tcsh, of welke shell dan ook in gebruik is.

Heeft u nog andere geavanceerde tips voor het beschermen van rm en srm op de opdrachtregel voordat u bestanden verwijdert? Laat het ons weten in de reacties. En als je gewoon wilt .

Een bevestiging inschakelen bij het verwijderen van bestanden & Mappen met rm Command