Bourne Again Shell, bättre känd som bash, är standard för de flesta Linux-distributioner. Det är extremt kraftfullt så långt som kommandokalar går och håller alla typer av smutsiga tricks för de som vill lära sig. En av de bästa funktionerna är enligt min mening kommandosystemets historia.

Det finns många alternativ att använda med bash historia, några av dem jag använder nästan varje gång jag öppnar ett kommandoskal. Idag kommer jag att täcka några av de mest användbara aspekterna av historien, men jag kommer verkligen inte att kunna täcka dem alla.

Upp / Nedpilar

Många av er känner säkert den här, men för den som inte gör det, kommer det att göra ditt liv mycket enklare. När du befinner dig i kommandokaletten använder du helt enkelt upp- och nedpilen på tangentbordet för att flytta igenom listan över tidigare inkomna kommandon. Nästa gång du anger ett långt kommando som visar sig ha ett typsnitt, behöver du inte skriva in det hela, bara slå upp pilen och göra vad som helst ändringar behövs.

!!

En liknande egenskap till den som anges ovan är dubbelväljaren (!!). De tecken som skrivs in i skalet representerar det senast skrivna kommandot. Låt oss säga att du försöker bara köra ett kommando för att ta reda på att du behöver root privilegier för att göra det. I stället för att skriva in hela kommandot kan du helt enkelt skriva in

 sudo !! 

Bash kommer att ersätta !! för föregående kommando, som i exemplet nedan.

Detta fungerar också längre bakåt, du kan göra något liknande

 ! -5 

att återkalla kommandot 5 poster tillbaka i historiken.

!(ord)

Kanske för några dagar sedan skrev du ett långt komplext kommando i ditt skal, till exempel en serie alternativ för "wterm". Du kan hitta och skriva in igen än kommando genom att använda historikens inbyggda sökning. Du lägger helt enkelt de första bokstäverna i kommandot efter! och bash hittar det.

Var försiktig med den här. Du kan sluta köra något annat än vad du förväntade dig. Använd inte detta för eventuellt farliga kommandon som "rm" eller "fdisk".

!?(ord)

Detta liknar den sista funktionen genom att den söker efter historiken för ordet inmatat, men till skillnad från! (Ord) kommer detta att hitta ordet någonstans i kommandot, inte bara början.

Var försiktig med den här. Du kan sluta köra något annat än vad du förväntade dig. Använd inte detta för eventuellt farliga kommandon som "rm" eller "fdisk".

Ctrl-R

Den här kan vara mitt personliga favorithistorikverktyg. Det är lite som ! objekt ovan men interaktivt. I ditt kommandoskal klickar du på Ctrl-R, och det börjar en sökning. När du skriver skriver bash i historien och visar resultaten när du skriver. När det visar kommandot du vill ha, tryck helt enkelt på Enter och det kommer att köra det kommandot. Detta kan vara säkrare än saker som !? eftersom du kan se vad kommandot kommer att vara innan du kör det, så du behöver inte gissa eller lita på minnet.

Manuell sökning

Kanske gillar du inte hur Ctrl-R fungerar, eller vill du se alla kommandon du skrev, eller bara de som innehåller ett visst ord. Historikkommandot visar dig din fullständiga kommandoradshistorik tillsammans med historiknumret för varje kommando (håll den tanken, vi kommer att täcka dessa nummer på ett ögonblick).

Du kan även ange hur många poster historikkommandot ska visa. Om du vill se de 10 senaste posterna i historiken kan du skriva

 historia 10 

Om du vill se alla historikposter som innehåller ett visst ord kan du använda grep för att filtrera resultaten, som nedan.

!(siffra)

När du använder historik- kommandot för att visa din kommandoradslista ser du att varje objekt i listan har ett nummer som är associerat med det. Du kan använda det för att återkalla det specifika kommandot. Till exempel kan artikel 87 köras igen genom att ange

 ! 87 

in i ditt skal.

Ordbyte

Det här är ganska bra. Hur många gånger har du skrivit ut något stort långt kommando för att inse att du säger, säger, Hdd när du ville ha hdc ? Tja bash har du täckt. Du kan ersätta ett ord i föregående kommando med en annan med "^", som i exemplet nedan

Hantera din historia

Som standard sparas historiken i ~ / .bash_history. Du kan hantera den här filen men du passar dig, men det finns några användbara saker du kan försöka hantera automatiskt. Namnlösa: Att ställa in miljövariablerna HISTSIZE och HISTFILESIZE . För att ange antalet poster som kan sparas i historikfilen till 1000 anger du

 export HISTFILESIZE = 1000 

in i ditt skal. Detta kommer att begränsa filen till 1000 poster. Om du vill göra den här ändringen permanent, lägg den exportkommandot i filen .bashrc eller .bash_profile.