Bourne Again Shell, bedre kjent som bash, er standard for de fleste Linux-distribusjoner. Det er ekstremt kraftig så langt som kommandokjellene går, og holder alle slags smarte triks for de som er villige til å lære. En av de beste funksjonene er, etter min mening, kommandobloggssystemet.

Det er mange alternativer å bruke med bash-historien, noen av dem jeg bruker nesten hver gang jeg åpner et kommandoskall. I dag skal jeg dekke noen av de mest nyttige aspektene i historien, men jeg vil sikkert ikke kunne dekke dem alle.

Opp / Ned piler

Mange av dere kjenner nok denne, men for alle som ikke gjør det, vil det gjøre livet enklere. Hver gang du befinner deg i kommandoskallet, bruker du opp- og nedpilene på tastaturet for å flytte gjennom listen over tidligere inntatte kommandoer. Neste gang du skriver inn en lang kommando som viser seg å ha en skrivefeil, trenger du ikke å skrive inn hele greia, bare slå opp pilen og gjøre hva som helst redigering er nødvendig.

!!

En lignende egenskap til den som er nevnt ovenfor, er dobbelt bang (!!). De tegnene som er angitt i skallet, representerer sist skrevet kommando. La oss si at du prøver å kjøre en kommando bare for å finne ut at du trenger root privilegier for å gjøre det. I stedet for å tilbakestille hele kommandoen, kan du bare skrive inn

 sudo !! 

Bash vil erstatte !! for den forrige kommandoen, som i eksemplet nedenfor.

Dette fungerer også lenger bakover, du kan gjøre noe sånt

 ! -5 

å huske kommandoen 5 oppføringer tilbake i historien.

!(ord)

Kanskje for noen dager siden har du skrevet en lang, kompleks kommando i skallet ditt, for eksempel en rekke alternativer for "wterm". Du kan finne og skrive inn igjen enn kommando ved å bruke historikkens innebygde søk. Du legger bare til de første bokstavene i kommandoen etter! og bash vil finne den.

Vær forsiktig med denne. Du kan ende opp med å kjøre noe annet enn det du forventet. Ikke bruk dette for potensielt farlige kommandoer som "rm" eller "fdisk".

!?(ord)

Dette ligner på den siste funksjonen ved at den søker i historien for ordet som er skrevet inn, men i motsetning til! (Ord) finner dette ordet hvor som helst i kommandoen, ikke bare begynnelsen.

Vær forsiktig med denne. Du kan ende opp med å kjøre noe annet enn det du forventet. Ikke bruk dette for potensielt farlige kommandoer som "rm" eller "fdisk".

Ctrl-R

Denne kan være mitt personlige favoritthistorieverktøy. Det er litt som ! elementet ovenfor, men interaktivt. I kommandoen skal du trykke Ctrl-R, og det vil starte et søk. Når du skriver, vil bash søke i historien og vise resultatene mens du skriver. Når det viser kommandoen du vil ha, må du bare trykke Enter og det vil kjøre den kommandoen. Dette kan være tryggere enn ting som !? fordi du kan se hva kommandoen vil være før du kjører den, så du trenger ikke å gjette eller stole på minnet.

Manuell søk

Kanskje du ikke liker Ctrl-R-funksjonen, eller du vil se alle kommandoene du skrev, eller bare de som inneholder et bestemt ord. Historikkkommandoen vil vise deg din fullkommandohistorikk, sammen med historikknummeret til hver kommando (hold den tanken, vi dekker disse tallene om et øyeblikk).

Du kan også angi antall elementer historikkkommandoen vil vise. For å se de 10 siste oppføringene i historien, kan du skrive

 historie 10 

Hvis du vil se alle historikkposter som inneholder et bestemt ord, kan du bruke grep til å filtrere resultatene, som nedenfor.

!(Antall)

Når du bruker historikk- kommandoen til å vise kommandolinjelisten, vil du legge merke til at hvert element i listen har et nummer tilknyttet det. Du kan bruke det for å huske den bestemte kommandoen. For eksempel kan element 87 bli kjørt igjen ved å skrive inn

 ! 87 

inn i skallet ditt.

Ordutskifting

Dette er ganske flott. Hvor mange ganger har du skrevet ut noen store lange kommandoer bare for å innse at du sier, hdd når du ville ha hdc ? Vel, bash har du dekket. Du kan erstatte et ord i forrige kommando med en annen ved å bruke «^», som i eksemplet nedenfor

Administrerer din historie

Som standard lagres historien i ~ / .bash_history. Du kan håndtere denne filen, men du ser det bra, men det er noen nyttige ting du kan prøve å administrere den automatisk. Nemlig, sette miljøvariabler HISTSIZE og HISTFILESIZE . For å angi antall oppføringer som kan lagres i historikkfilen til 1000, skriv inn

 eksporter HISTFILESIZE = 1000 

inn i skallet ditt. Dette vil begrense filen til 1000 oppføringer. Hvis du vil gjøre denne endringen permanent, sett den eksportkommandoen inn i filen .bashrc eller .bash_profile.