Linux-kommandohistoriken är ett användbart verktyg som visar en lista över alla kommandon som en användare tidigare har utfört i terminalen. Den här listan lagras i en historikfil och genom att använda historikkommandot kan du se den här filen, vilket gör det enkelt att återkalla och återanvända tidigare kommandon.
Detta kommando används vanligtvis för att spåra åtgärder som utförs i terminalen, särskilt vid felsökning eller upprepande av komplexa kommandosekvenser. Det kan spara tid och ansträngning genom att tillåta användare att snabbt återkalla och köra om tidigare kommandon utan att behöva skriva dem igen. Vissa användare använder också historik för att granska eller granska åtgärder som vidtagits på systemet, vilket hjälper till med systemadministration och säkerhet.
Allmän syntax för historikkommandot:
history [OPTIONS...]
1. Visa använda kommandon
history [number]
Detta kommando visar ett begränsat antal tidigare utförda kommandon.
Exempel:
Kommandohistorik 5 i Linux visar de senaste 5 kommandona som kördes i terminalen. Här är ett exempel på resultat:
501 git status 502 cd /var/www/html 503 ls -la 504 nano myfile.txt 505 history 5
Varje rad visar ett historikkommando som föregås av ett unikt nummer som representerar kommandots position i historikfilen. Det här exemplet visar de fem senaste kommandona som kördes, inklusive historikkommando 5.
2. Ta bort kommandon från historiklistan
history -d [number]
Använd alternativet -d för att ta bort kommandon från historiklistan.
Exempel:
Innan du raderar:
1 ls 2 cd Documents/ 3 touch file.txt 4 nano file.txt 5 rm file.txt 6 history
Efter att ha kört historik -d 5:
1 ls 2 cd Documents/ 3 touch file.txt 4 nano file.txt 5 history
Som du kan se har det femte kommandot (rm file.txt) tagits bort från historiken.
3. Hitta använt kommando i historiken
history | grep [text]
Berättelsen | Kommandot grep hjälper dig att hitta kommandon som matchar ett textmönster.
Exempel:
Berättelsen | Kommandot grep cat på Linux kommer att söka igenom din kommandohistorik och visa alla rader som innehåller ordet “katt”. Kommandot grep filtrerar utdata från historikkommandot för att endast visa linjer med det angivna mönstret, i det här fallet “katt”. Här är ett exempel på resultat:
42 cat file.txt 73 cat /etc/passwd 100 cat documents/note.txt | more 123 concatenate file1.txt file2.txt > combined.txt 150 cat logs/error.log | grep "ERROR"
I det här exemplet börjar varje rad med ett nummer som representerar kommandots position i historien, följt av själva kommandot. Det inkluderar alla fall där “katt” förekommer, oavsett om det är kommandot cat i sig eller helt enkelt en del av ett annat ord eller kommando.
4. Rensa historiklistan
history -c
Alternativet -c (radera) används för att ta bort alla kommandon från historiklistan.
5. Kör kommandot med händelsenumret.
!number
Detta kommando låter dig utföra kommandon med ett händelsenummer från historiklistan. Du behöver inte skriva ett fullständigt kommando.
Exempel:
Anta att det tionde kommandot i din historia var ls -l, som listar filerna i den aktuella katalogen i långt format. Om du kör !10 kan resultatet se ut så här:
total 24 drwxr-xr-x 5 user user 4096 Aug 6 10:00 Documents drwxr-xr-x 2 user user 4096 Aug 6 09:45 Downloads drwxr-xr-x 2 user user 4096 Aug 6 09:45 Music drwxr-xr-x 2 user user 4096 Aug 6 09:45 Pictures
Denna utdata visar innehållet i den aktuella katalogen, som om du hade kört kommandot ls -l direkt.
6. Skriv ändringar i bash_history-filen
history -w [filename]
Använd det här alternativet för att skriva alla ändringar som gjorts i den aktuella sessionen till bash_history-filen.
Exempel:
Kommandot History -w file.txt på Linux ger inga resultat i själva terminalen. Istället skriver den den aktuella kommandohistoriken till en fil som heter file.txt.
Så om du skulle öppna filen.txt kan du se något i stil med detta:
1 cd /home/user/documents 2 ls -la 3 sudo apt-get update 4 nano file.txt 5 history -w file.txt
Den här filen innehåller nu listan över kommandon som tidigare kördes i terminalen och du kan visa eller redigera den med valfri textredigerare.
