BASH-programmering

Bruke og tilpasse Bash Command History

Bruke og tilpasse Bash Command History
Bash shell er standard kommandolinjemiljø tilgjengelig i de fleste Linux-distribusjoner. I likhet med alle skallmiljøer holder den oversikt over kommandoer som tidligere har blitt utført av brukeren. Denne posten holdes og vedlikeholdes selv om vi starter systemet vårt på nytt.

Du vet kanskje den grunnleggende bruken av historikkommandoen, men det kan gjøre mye mer enn det. Bash-historikken lagres vanligvis i filen ~ /.bash_history. Den lar deg hente og bruke den lagrede posten på en effektiv måte for å få mest mulig ut av funksjonen lagring av bash historie. Ikke bare dette, men du kan også tilpasse og kontrollere bash-kommandoutgangen slik du vil.

I denne artikkelen vil vi forklare hvordan du effektivt kan bruke og tilpasse bash-kommandohistorikken for å få mest mulig ut av funksjonene.

Vi har brukt Debian 10 for å kjøre kommandoene og prosedyren nevnt i denne artikkelen.

Bruker bash-kommandohistorikk

1. Viser bash-historien

For å se hele historikken til skallkommandoer, kan du kjøre følgende kommando i Terminal:

$ historie

Den vil vise hele historikken for en bestemt bruker fra historikkfilen som er lagret spesielt for den brukeren. Du vil se alle kommandoene som begynner med et nummer som er tildelt hver av dem. Den vil liste opp de eldre kommandoene øverst med nummer 1 og de nyere kommandoene nederst.

2. Søker i historikkutgangen

Du kan også søke etter et bestemt nøkkelord fra historikkutgangen. Koble historikkommandoen med grep og et bestemt nøkkelord for å søke etter kommandoer som samsvarer med det angitte nøkkelordet ditt på følgende måte:

$ historie | grep [nøkkelord]

For eksempel, for å liste opp alle kommandoene som inkluderer nøkkelordet "finn", vil kommandoen være:

$ historie | grep finne

3. Viser siste n kommandoer

Historikkommandoen viser som standard det siste 1000 antallet kommandoer som er utført av en bruker. I tilfelle du bare vil liste opp et spesifikt nummer, la oss si at nummeret på sist utførte kommando, kjør følgende kommando i Terminal:

$ historie n

For eksempel, for å liste de siste 7 utførte kommandoene, vil kommandoen være:

$ historie 7

For å se antallet de siste n run-kommandoene som inkluderer et bestemt nøkkelord, kan du bruke følgende syntaks:

$ historie | grep nøkkelord | hale -n

Et eksempel på dette vil være å se de siste 4 utførte kommandoene med nøkkelordet "java".

$ historie | grep java | hale -n

4. Viser eldste kommandoer

For å se det eldste antallet kommandoer, kan du bruke følgende syntaks i Terminal:

$ historie | hodet -n

For å se det eldste antallet kommandoer som inkluderer et bestemt nøkkelord, bruk følgende syntaks:

$ historie | grep nøkkelord | head -n

Et eksempel på dette vil være å vise de eldste 4 utførte kommandoene med nøkkelordet "java".

$ historie | grep java | hode -4

5. Fjern Bash-historien helt

For å fjerne hele bash-historikken, kjør følgende kommando i Terminal:

$ historie -cw

Tilpasse bash-kommandolinje

For å tilpasse bash-kommandohistorikken, må vi gjøre endringer i ~ /.bashrc-fil. For å redigere ~ /.bashrc-fil, bruk følgende kommando:

$ nano ~ /.bashrc

Når du er ferdig med å endre filen, bruker du Ctrl + O og Ctrl + X for å lagre og lukke nano-editoren.

Kjør deretter følgende kommando for å bruke endringene:

$ kilde ~ /.bashrc

1. Legg til dato og tidsstempel i Bash History

Hvis du vil vise dato og tidsstempel sammen med kommandohistorikken, kan du gjøre det ved å legge til følgende linje i ~ /.bashrc:

$ export HISTTIMEFORMAT = '% F,% T'

Kjør nå historie kommandoen, og den viser kommandohistorikken med tilhørende data og tidsstempel.

2. Øker størrelsen på Bash History

Bash holder som standard 500 kommandoer i historikklisten. Vi kan imidlertid endre denne verdien ved hjelp av HISTSIZE-verdien.

For å se den nåværende størrelsen på bash-historikken, kjør følgende kommando i Terminal:

$ echo $ HISTSIZE

Tilsvarende er standardstørrelsen på bash-historikkfilen 500. Det er maksimalt antall oppføringer som finnes i historikkfilen.

For å øke størrelsen på bash-historien, la oss si 10000, legg til følgende linjer i ~ /.bashrc-fil:

$ HISTSIZE = 10000
$ HISTFILESIZE = 10000

For å bekrefte om bash-historikkstørrelsen er endret, kjør følgende kommandoer i Terminal:

$ echo $ HISTSIZE
$ echo $ HISTFILESIZE

3. Legg til bash-kommandoer i historikkfilen

Når en bash-økt er lukket, kan du velge å overskrive eller legge til kommandoene i historikkfilen ved hjelp av histappend-variabelen. For å se gjeldende innstillinger, kjør følgende kommando i Terminal:

$ shopp histappend

"På" i utgangen viser at histappend-alternativet er aktivert, og kommandoene blir lagt til i historikkfilen i stedet for å overskrive. Mens “av” vises, er alternativet for histappend deaktivert, og filen blir overskrevet.

Åpne ~ /.bashrc-fil og:

Legg til følgende linje hvis du vil legge til kommandoene i historikkfilen i stedet for å overskrive:

$ shopt -s histappend

Eller legg til følgende linje hvis du vil deaktivere tilleggsalternativet og vil overskrive filen ved avslutning:

$ shopt -u histappend

4. Oppbevar Bash History umiddelbart

Bash lagrer økten som standard bare i bash-historikkfilen når økten er avsluttet. Hvis du vil endre denne standardadferden og gjøre det til å lagre hver kommando du har utført umiddelbart, kan du bruke PROMPT_COMMAND.

Rediger ~ /.bashrc-fil og legg til følgende linje:

$ PROMPT_COMMAND = 'historie -a'

Nå når du utfører en kommando, blir den umiddelbart lagt til i historikkfilen.

5. Kontroller Bash History

Vi kan kontrollere måten bash lagrer kommandoprogrammet vårt gjennom HISTCONTROL-variabelen. Vi kan spesifisere det for å ignorere dupliserte oppføringer, og / eller for å ignorere oppføringer med ledende hvite mellomrom.

For å bruke disse funksjonene, åpne ~ /.bashrc og legg til følgende linje med verdier atskilt med kolon som følger:

$ export HISTCONTROL = ignorespace: ignoredups

6. Ignorer spesifikke kommandoer

Vi kan også kontrollere hvilke kommandoer som skal ignoreres i historien ved hjelp av en variabel HISTIGNORE. Det er en kolon-delt liste over mønstre der vi kan spesifisere alle kommandoene vi vil ignorere fra historien.

For eksempel, hvis vi ikke vil liste de grunnleggende kommandoene som historie, ls, pwd-kommandoer i historikklisten, så legger vi til følgende linje i ~ /.bashrc-fil:

$ export HISTIGNORE = "historie: ls: pwd:"

Med Linux bash-kommandohistorikk kan du gjøre mye mer enn bare å gjenta de gamle kommandoene. I denne artikkelen har vi lært hvordan du bruker bash-historikken til å se kommandoene som har blitt utført tidligere, og også lært å kontrollere måten bash lagrer kommandohistorikken.

Installer det siste OpenRA-strategispillet på Ubuntu Linux
OpenRA er en Libre / Free Real Time Strategy-spillmotor som gjenskaper de tidlige Westwood-spillene som den klassiske Command & Conquer: Red Alert. Di...
Installer nyeste Dolphin Emulator for Gamecube & Wii på Linux
Dolphin Emulator lar deg spille de valgte Gamecube- og Wii-spillene dine på Linux Personal Computers (PC). Som en fritt tilgjengelig og åpen kildekod...
Hvordan bruke GameConqueror Cheat Engine i Linux
Artikkelen dekker en guide om bruk av GameConqueror-juksemotoren i Linux. Mange brukere som spiller spill på Windows bruker ofte "Cheat Engine" -appli...