Aktivera en bekräftelse vid radering av filer & Mappar med rm-kommando

Anonim

De flesta kommandoradsanvändare vet att "rm"-kommandot för att ta bort och ta bort filer är ganska kraftfullt, kan ta bort nästan vilken fil som helst i filsystemet - oavsett om den ska tas bort eller inte. När du väl lägger till jokertecken och sudo, rm och srm eftersom de är exponentiellt mer potenta och potentiellt farliga, så för avancerade användare som vill lägga till ett lager av säkerhet till rm-funktionen kan de aktivera en bekräftelsedialog med kommandona rm och srm.Detta erbjuder också en användbar skyddsmekanism för dem som lär sig kommandoraden och vill placera ett lager av verifiering mellan omedelbar radering av filer och deras kommandoexekvering.

Det finns två delar av det här tricket, den första är helt enkelt att känna till rätt flagga för att aktivera och använda en bekräftelse innan en fil eller mapp raderas med rm, och den andra använder ett alias för att göra det tidigare nämnda ta bort med bekräftelse till det nya standard alternativet för kommandot rm. Båda dessa knep fungerar i Mac OS X, linux och de flesta andra unix-varianter, så det är till stor del operativsystemagnostiskt, och det fungerar också med det kraftfulla kommandot srm secure remove också. Detta syftar uppenbarligen till att mer avancerade användare är bekväma med kommandoraden till att börja med, eftersom att använda rm och srm inte är lämpliga verktyg för nybörjare.

Använda rm-kommando med bekräftelse innan du tar bort filer och mappar

Syntaxen för att möjliggöra en bekräftelse innan du tar bort några filer med rm (eller srm) är helt enkelt en -i-flagga, som används så här:

rm -i filnamn

Om du till exempel skulle ta bort en fil med namnet "theSampleFile.zip" och vill ha en bekräftelse innan kommandot tas bort, skulle du använda följande syntax:

rm -i theSampleFile.zip

När du trycker på retur kommer du att bli tillfrågad om du vill ta bort filnamnet i fråga eller inte, med kommandot som upprepar den exakta filen innan det raderar den så här:

% rm -i theSampleFile.zip ta bort theSampleFile.zip? y

rm -i-syntaxen fungerar till och med med -r för att få en bekräftelse innan du rekursivt tar bort kataloger och filinnehåll i inneslutna undermappar:

rm -ir /Exempel/Mapp/

Återigen måste du skriva ett y eller n innan kommandot slutförs för varje enskild fil som finns i katalogen.

Få samma bekräftelsedialogruta med srm använder också flaggan -i:

srm -i /Example/file.zip

Återigen, du skulle använda y- och n-tangenterna för att bekräfta eller neka borttagning av specificerade filer.

Hur man aktiverar en 'rm' kommandobekräftelse som standard med ett alias

Öppna din .bash_profile eller .profile och du kan skapa ett alias som så för att ändra standardsyntaxen 'rm' till 'rm -i' för att vara den nya standarden.

alias rm='rm -i'

Du kan skapa samma typ av alias med srm så här:

alias srm='srm -i'

Det räcker att lägga till båda dessa till unika linjer i profilen. Uppdatering av skalet gör att båda kan nås från bash, zsh, tcsh eller vilket skal som nu används.

Har du några andra avancerade tips för att skydda rm och srm på kommandoraden innan du tar bort filer? Låt oss veta i kommentarerna. Och om du bara vill .

Aktivera en bekräftelse vid radering av filer & Mappar med rm-kommando