Kommandohistoriken hjälper dig att visa kommandon som du tidigare har kört i terminalen. Så här kan du hantera kommandohistoriken på Linux.
På Linux sparas varje kommando du skriver i historikfilen. Med historikkommandot kan du visa och återanvända dessa kommandon utan att behöva skriva om dem. Du kan navigera genom historiklistan med hjälp av Upp och Ner nycklar. Det kan dock finnas tillfällen du vill ta bort några kommandon från historiken eller permanent inaktivera historiksparningsfunktionen.
Lyckligtvis låter Linux dig styra kommandologgningsfunktioner, som att tillfälligt inaktivera det eller permanent, ta bort hela historiken eller förhindra att vissa kommandon sparas i historiken lista. Låt oss se hur.
Ta bort hela kommandohistoriken på Linux
För att radera hela kommandohistorik på Linux från början, använd historikkommandot med -c alternativ:
historia -c
Detta kommer att radera hela historiken för de kommandon du tidigare har kört.
Ta bort specifika kommandon från historiken
Ibland istället för att ta bort hela historiken kanske du vill ta bort specifika kommandon. I det här fallet måste du bestämma numret som är associerat med det specifika kommandot i historiklistan. Du kan göra detta genom att helt enkelt skriva:
historia
Eller så kan du också skicka historikutgången till grep för att lättare hitta den önskade informationen:
historia | grep ifconfig
När du har hittat kommandonumret kan du ta bort det med hjälp av historikkommandot med -d alternativ följt av kommandonumret:
historia -d
Utför ett kommando utan att inkludera det i historiken
För att utföra ett kommando utan att det registreras i historiken, lägg helt enkelt till en Plats före kommandot. Men för att den här funktionen ska fungera måste du ställa in HISTKONTROLL miljövariabel till ignorera utrymme med följande kommando:
export HISTCONTROL=ignorespace
Denna förändring kvarstår inte efter en omstart. För att göra det permanent, lägg till det i din .bashrc fil med följande kommando:
echo 'HISTCONTROL=ignorespace' >> ~/.bashrc
Genom att aktivera den här funktionen kommer Bash inte att spela in kommandon som börjar med ett blanksteg i historikfilen.
Till exempel kommer följande kommando inte att spelas in av skalet:
[mellanslag] echo 'hej, det här är den första raden'
Om du kör samma kommando utan mellanslag kommer Bash att registrera det i historiken:
echo "hej, det här är första raden"
På samma sätt kan du också låta Bash ta bort på varandra följande dubbletter av kommandon från historien med:
echo 'HISTCONTROL=ignoredups' >> ~/.bashrc
Den här funktionen lagrar de på varandra följande dubbletterna endast en gång i historiklistan.
Hur man aktiverar/inaktiverar kommandohistorik på Linux
Även om den tidigare metoden kan förhindra skalet från att logga kommandon i historiken, kanske det inte är praktiskt när man hanterar ett stort antal kommandon.
Att infoga ett mellanslag före varje kommando kan bli monotont och betungande. I ett sådant scenario kan du tillfälligt inaktivera skalhistorik genom att utföra följande kommando:
ställ in +o-historik
För att slå på den igen, använd följande kommando:
set -o historik
För att permanent inaktivera Linux-kommandohistorik, använd:
echo 'set +o history' >> ~/.bashrc
Ignorera vissa kommandon från att registreras i historiken
Det kan finnas vissa kommandon du vill utesluta eftersom de kan röra historiklistan och göra det svårt att navigera. Några av de vanliga exemplen är pwd, ls, man, cat och kommandot cd eftersom det kan vara repetitivt och överflödigt.
Använda HISTIGNORE miljövariabel kan du styra vilka kommandon som inte ska läggas till i historiklistan. Till exempel, för att utesluta vissa kommandon som historia, pwd och cat från att spara i historiklistan, separera dem med ett kolon och omslut dem inom dubbla citattecken enligt följande:
export HISTIGNORE="history: pwd: cat"
För att göra ändringen permanent, lägg till kommandot i .bashrc fil med:
echo 'HISTIGNORE="history: pwd: cat"' >> .bashrc
Styr din Bash Command History på Linux
Linux erbjuder omfattande kontroll över hantering av kommandoradshistorik, så att användare kan ange vilka kommandon som ska sparas i historik, radera specifika kommandon från historiken, aktivera eller inaktivera historik tillfälligt eller till och med ta bort hela historia.
Detta hjälper inte bara till att skydda användarens integritet utan förhindrar också att irrelevanta eller repetitiva kommandon stör Bash-historiken.
Ett ännu bättre sätt att komma åt kommandoradshistoriken är att använda McFly, en neuralnätverksdriven ersättning till den förinställda reverse-i-search på Linux.