Du kjenner kanskje den grunnleggende bruken av historiekommandoen, men det kan gjøre mye mer enn det. Bash -historien lagres vanligvis i filen ~/.bash_history. Det lar deg huske og gjenbruke den lagrede posten på en effektiv måte å få det beste ut av bashistorikkens lagringsfunksjon. Ikke bare dette, men du kan også tilpasse og kontrollere base -kommandoutgangen på den måten du vil.
I denne artikkelen vil vi forklare hvordan vi 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 som er nevnt i denne artikkelen.
Bruke bashistorikk
Viser bashistorien
For å se hele History of Shell -kommandoer, kan du kjøre følgende kommando i terminalen:
$ historie
Den vil liste opp hele historien for en spesifikk bruker fra historikkfilen som er lagret spesielt for den brukeren. Du vil se alle kommandoene som starter med et nummer tildelt hver av dem. Den vil liste opp de eldre kommandoene øverst med nummer 1 og de nyere kommandoene nederst.
Søker etter historieutgangen
Du kan også søke etter et spesifikt nøkkelord fra historieutgangen. Par historiekommandoen med GREP og et spesifikt søkeord for å søke etter kommandoer som samsvarer med det spesifiserte nøkkelordet som følger:
$ historie | grep [nøkkelord]
For å liste opp alle kommandoene som inkluderer nøkkelordet “Finn”, vil kommandoen for eksempel være:
$ historie | grep finn
Viser siste N -kommandoer
Historiekommandoen viser som standard de siste 1000 antall kommandoer utført av en bruker. I tilfelle du bare vil liste opp et bestemt nummer, la oss si n antall sist utførte kommando, kjør følgende kommando i terminalen:
$ historie n
For å liste opp de 7 siste utførte kommandoene, ville kommandoen for eksempel være:
$ historie 7
For å se nummeret på de siste N -kjørekommandoene som inneholder et spesifikt nøkkelord, kan du bruke følgende syntaks:
$ historie | grep nøkkelord | hale -n
Et eksempel på dette ville være å se de fire siste utførte kommandoene med nøkkelordet “Java”.
$ historie | grep java | hale -n
Viser eldste kommandoer
For å se det eldste n antall kommandoer, kan du bruke følgende syntaks i terminalen:
$ historie | hode -n
For å se det eldste N -antallet kommandoer som inkluderer et spesifikt nøkkelord, bruk følgende syntaks:
$ historie | grep nøkkelord | hode -n
Et eksempel på dette ville være å se de eldste 4 utførte kommandoene med nøkkelordet “Java”.
$ historie | grep java | hode -4
Klar bashistorie helt
For å fjerne hele bashistorien, kjør følgende kommando i terminalen:
$ historie -cw
Tilpasning av base -kommandohistorikk
For å tilpasse bashistorikk, må vi gjøre endringer i ~/.Bashrc -fil. Å 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 Editor.
Kjør deretter følgende kommando for å bruke endringene:
$ kilde ~/.Bashrc
Legg til dato og tidsstempel for å bash historie
Hvis du vil vise dato og tidsstempel sammen med kommandohistorikken, kan du gjøre det ved å legge til følgende linje i ~//.Bashrc:
$ eksport histtimeFormat = ' %f, %t'
Kjør nå historie Kommando og den vil vise kommandohistorikken med tilsvarende data og tidsstempel.
Økende størrelse på bashs historie
Bash som standard holder 500 kommandoer i historielisten. Vi kan imidlertid endre denne verdien ved å bruke histSize -verdien.
For å se gjeldende størrelse på bashistorikk, kjør følgende kommando i terminalen:
$ ekko $ histsize
Tilsvarende er standardstørrelsen på bashistoriefilen 500. Det er det maksimale antallet oppføringer som er inneholdt i historiefilen.
For å øke størrelsen på bashhistorien, la oss si 10000, legg til følgende linjer i ~/.Bashrc -fil:
$ Histsize = 10000
$ Histfilesize = 10000
For å bekrefte om Bash -historiestørrelsen har endret seg vellykket, kjør følgende kommandoer i terminalen:
$ ekko $ histsize
$ ekko $ histfilesize
Legg til Bash -kommandoer til historifilen
Når en bash -økt er stengt, kan du velge å overskrive eller legge til kommandoene i historiefilen ved å bruke Histappend -variabelen. For å se gjeldende innstillinger, kjør følgende kommando i terminalen:
$ shopt histappend
“ON” i output viser at histappend -alternativet er aktivert, og kommandoene vil bli lagt ved historiefilen i stedet for å overskrive. Mens "OFF" -shows, er histappend -alternativet deaktivert, og filen blir overskrevet.
Åpne ~/.Bashrc -fil og:
Legg til følgende linje, hvis du vil legge til kommandoene i historiens fil i stedet for å overskrive:
$ shopt -s histappend
Eller legg til følgende linje, hvis du vil deaktivere alternativet for vedlegg og vil overskrive filen ved utgang:
$ shopt -u histappend
Lagre bashistorie umiddelbart
Bash som standard lagrer bare økten til Bash History -filen når økten er avsluttet. For å endre denne standardoppførselen og gjøre den for å lagre hver kommando du umiddelbart har utført, kan du benytte deg av Prompt_Command.
Rediger ~/.Bashrc -fil og legg til følgende linje:
$ Spurt_command = 'History -a'
Nå når du utfører en kommando, vil den umiddelbart bli lagt til historifilen.
Kontrollbash historie
Vi kan kontrollere måten Bash redder vår kommandohistorikk gjennom HistControl -variabelen. Vi kan spesifisere det for å ignorere dupliserte oppføringer, og/eller for å ignorere oppføringer med ledende hvite rom.
For å bruke disse funksjonene, åpne ~/.Bashrc og legg til følgende linje med verdier atskilt med tykktarmen som følger:
$ Eksport HistControl = ignorespace: ignoredups
Ignorer spesifikke kommandoer
Vi kan også kontrollere hvilke kommandoer som skal ignorere i historien ved hjelp av en variabel histignore. Det er en kolon-separert liste over mønstre der vi kan spesifisere alle kommandoene som vi ønsker å ignorere fra historien.
For eksempel, hvis vi ikke vil liste opp de grunnleggende kommandoene som historie, LS, PWD -kommandoer i historielisten, legger vi til følgende linje i ~/.Bashrc -fil:
$ eksport 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 vi bruker bashistorien til å se kommandoene som har utført tidligere og også lært å kontrollere måten Bash Saving the Command History.