Aktivera en bekräftelse när du tar bort filer och mappar med rm-kommandot

De flesta kommandoradsanvändare vet att kommandot "rm" för att ta bort och ta bort filer är ganska kraftfullt och kan ta bort nästan alla filer som är tänkbara inom filsystemet, oavsett om det ska tas bort eller inte. När du lägger till jokertyper och sudo, rm och srm, eftersom exponentiellt mer potent och potentiellt farliga, så för avancerade användare som vill lägga till ett säkerhetslager till rm-funktionen kan de aktivera en bekräftelsedialog med rm och srm-kommandona. Detta ger också en bra skyddsmekanism för dem som lär sig kommandoraden och vill placera ett lager av verifiering mellan den ögonblickliga raderingen av filer och deras kommandotillverkning.

Det finns två delar till det här tricket, det första är helt enkelt att veta 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 ovan nämnda borttagning med bekräftelse till det nya standardalternativet för kommandot rm. Båda dessa knep fungerar i Mac OS X, Linux och de flesta andra Unix-variationer, så det är till stor del operativsystemets agnostik, och det fungerar också med det kraftfulla SRM Secure Remove Command också. Detta är uppenbarligen riktat till mer avancerade användare är bekväma med kommandoraden till att börja med, eftersom 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 filer med rm (eller srm) är helt enkelt en -i-flagga, som används så här:

rm -i filename

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

rm -i theSampleFile.zip

När du slår tillbaka kommer du att bli ombedd om du vill ta bort filnamnet ifråga eller inte, med kommandot att upprepa den exakta filen innan den raderar den så här:

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

Att slå 'y' och återvända svarar med ett 'ja' för att radera filen, och slå 'n' och retur-knappen svarar med ett nej och filen kommer inte att tas bort.

Rm -i-syntaxen fungerar till och med med -r för att få en bekräftelse innan rekursivt raderar kataloger och filinnehåll i innehålla undermappar:

rm -ir /Example/Folder/

Återigen måste du utfärda ay eller n innan kommandot kommer att slutföra för varje enskild fil som finns i katalogen.

Att få samma bekräftelsedialog med srm använder också -i-flaggan:

srm -i /Example/file.zip

Återigen skulle du använda tangenterna y och n för att bekräfta eller neka borttagna specifika filer.

Så här aktiverar du en 'rm' Command-bekräftelse som standard med ett alias

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

alias rm='rm -i'

Du kan skapa samma typ av alias med srm som så:

alias srm='srm -i'

Om du lägger till dem båda till unika linjer i profilen är det tillräckligt, då uppfriskande skalet tillåter både att nås från bash, zsh, tcsh eller beroende på vilket skalet är i bruk.

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 lära dig mer intressanta kommandorads tips, bläddra bland våra inlägg på det breda ämnet.