Bruke og tilpasse Bash -kommandohistorikk

Bruke og tilpasse Bash -kommandohistorikk
Bash Shell er standard kommandolinjemiljø som er tilgjengelig i de fleste Linux -distribusjoner. I likhet med alle skallmiljøer fører det en oversikt over kommandoer som har blitt utført tidligere av brukeren. Denne posten oppbevares og vedlikeholdes selv om vi starter systemet vårt på nytt.

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.

  • INGIVEESPACE - Eliminerer kommandoer som begynner med en romhistorisk liste.
  • ignoredups - Fjern duplikatkommandoer.
  • Ignoreboth - Aktiver både ignorerte og ignorespace
  • Slettede ups- eliminere duplikater fra hele listen

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.