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:
$ historieDen 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 nFor eksempel, for å liste de siste 7 utførte kommandoene, vil kommandoen være:
$ historie 7For å se antallet de siste n run-kommandoene som inkluderer et bestemt nøkkelord, kan du bruke følgende syntaks:
$ historie | grep nøkkelord | hale -nEt 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 -nFor å se det eldste antallet kommandoer som inkluderer et bestemt nøkkelord, bruk følgende syntaks:
$ historie | grep nøkkelord | head -nEt 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 -cwTilpasse bash-kommandolinje
For å tilpasse bash-kommandohistorikken, må vi gjøre endringer i ~ /.bashrc-fil. For å redigere ~ /.bashrc-fil, bruk følgende kommando:
$ nano ~ /.bashrcNå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 ~ /.bashrc1. 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 $ HISTSIZETilsvarende 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 histappendEller legg til følgende linje hvis du vil deaktivere tilleggsalternativet og vil overskrive filen ved avslutning:
$ shopt -u histappend4. 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.
- ignorerer mellomrom - eliminerer kommandoer som begynner med en romhistorieliste.
- ignoredups - eliminere dupliserte kommandoer.
- ignoreboth - Aktiver både ignoredups og ignorespace
- erasedups- eliminere duplikater fra hele listen
For å bruke disse funksjonene, åpne ~ /.bashrc og legg til følgende linje med verdier atskilt med kolon som følger:
$ export HISTCONTROL = ignorespace: ignoredups6. 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.