Bash History Search

Bash History Search
Vi må skrive forskjellige kommandoer i skallet for forskjellige formål. Noen ganger må vi utføre de samme kommandoene flere ganger. Det er veldig tidkrevende eller kjedelig oppgave å skrive de samme kommandoene flere ganger. Heldigvis har Bash en god løsning på dette problemet. Ved å bruke bash -historikkmekanismen, kan de tidligere utførte kommandoene hente og utføre enkelt uten å skrive kommandoen igjen. Linux lagrer kommandolinjehistorikk for hver bruker i hjemmekatalogen. Som standard viser Bash History -kommandoen listen over tidligere skrevne kommandoer med linjenumre. Men du kan hente kommandohistorien med dato og tid også. Hvordan du kan endre innstillingen for historiekommando og bruke historiekommando for å hente listen over tidligere skrevne kommandoer på forskjellige måter vises i denne opplæringen.

Historieinnstillinger:

Mange variabler brukes til å kontrollere kommandohistoriske poster. Bash lagrer kommandohistorikk på to måter. Det kan lagres i en fil og i minnet. HostFile Variabel brukes til å angi plasseringen og navnet på historiefilen. Som standard lagret historieinformasjon .bash_history -fil. Hvor mange kommandoer som kan lagres i en fil som er angitt ved å bruke Histfilesize variabel og hvor mange kommandoer i den aktuelle økten som kan lagres i minnet er satt av Histsize variabel. Åpen de .Bashrc fil i hvilken som helst redigerer og finn ut standardinnstillingene til disse parametrene. Her brukes Text Editor til å redigere denne filen.

$ gedit ~/.Bashrc

I henhold til innholdet i denne filen er standardverdien til Histfilesize er 2000 og Histsize er 1000. Du kan endre disse verdiene i henhold til ditt valg.

Aktiver/deaktivere alternativ for overskrivning av historier:

For hver nye økt blir historiefilen overskrevet av gjeldende historiekommandoer på slutten av økten. Hvis du vil beholde den tidligere historiekommandoen og vil legge til de nye historiepostene på slutten av filen, må du utføre følgende kommando.

$ shopt -s histappend

Kjør følgende kommando for å sjekke gjeldende innstilling av historiens overskrivingsalternativ.

$ shopt histappend

Kjør følgende kommando for å overskrive historiefilen.

$ shopt -u histappend

Vis listen over tidligere utførte bash -kommandoer:

For å hente listen over utførte kommandoer for den nåværende økten, kjør følgende grunnleggende kommando.

$ historie

Du kan hente det spesielle antall historie ved å nevne nummeret med historiekommandoen. Følgende kommando henter 3 til slutt utførte kommandoer fra historien.

$ historie 3

Historikklisten over den aktuelle kommandoen kan hentes ved å bruke kommandoen med historiekommandoen. For eksempel henter følgende kommando historielisten over alle 'ls'Kommando.

$ historie | grep ls

Utføre kommando fra historien:

Du kan enkelt utføre enhver kommando fra historien ved å nevne linjenummeret med '!'Symbol. Følgende kommando vil utføre kommandoen over linjenummer 17 fra historikkfilen og tømme skjermen.

$ !17

Du kan bruke negativ posisjonsverdi for å utføre kommandoer fra historien. I det følgende eksempel blir tre kommandoer utført og den første utførte kommandoen utføres fra historien ved å bruke en negativ verdi.

$!-3

Du kan bruke '!!' symbol for å utføre den siste kommandoen fra historien. I det følgende eksemplet, 'ls' Kommandoen blir utført sist. Så når '!!' utføres og deretter utførte den 'ls' -kommandoen igjen.

$ !!

Vis historikklisten etter dato og klokkeslett:

HistTimeFormat Variabel brukes til å hente informasjon om kommandohistorikk etter dato og klokkeslett. '%F' brukes til å hente dato '%t' brukes til å hente tid. Kjør følgende kommando for å hente historieliste etter dato.

$ eksport histTimeFormat = '%f'

Fjern dupliserte kommandoer fra historien:

Kommandohistorikklisten kan inneholde oppføringen av mange dupliserte kommandoer hvis brukeren kjører den samme kommandoen flere ganger. Hvis du vil utelate duplikatkommandoen fra historien på tidspunktet for å hente listen, må du bruke HistControl variabel med verdi 'ignoredrups'.

$ eksport histcontrol = ignoredups

Filtrer enhver kommando fra historien:

Du kan bruke Histignore Variabel for å filtrere enhver kommando fra historien når du henter den utførte kommandolisten. Hvis du vil utelate 'Dato' Kommando fra listen kjør deretter følgende kommando.

$ eksport histignore = 'dato'

Useset eksportkommando:

Du kan ikke ta ut eksportkommandoen for eventuelle definerte variable typer. For eksempel, hvis du vil løsne Histignore variabel som er tilordnet å ignorere 'Dato' Kommando kjør deretter følgende kommando.

$ useset eksport histignore

Deaktiver kommandohistorikk:

Når du ikke vil føre postene til de utførte kommandoene for noe sikkerhetsformål, må du deaktivere historiekommandoen. Hvis verdien av HistsizE -variabelen er satt til 0, så vil ingen utført kommando over den aktuelle økten bli lagret i minnet eller i historiefilen. Åpen .Bashrc -fil og angi verdien av Histsize til 0.

$ gedit .Bashrc

Kjør følgende kommando for å skape effekten av endringen av .Bashrc -fil. Kjør noen kommandoer for å sjekke historiekommandoen er deaktivert eller ikke.

$ kilde .Bashrc

Klar kommandohistorie:

Kommandoer kan ryddes eller slettes ved å bruke historiekommando med -c alternativ. Du kan bruke dette alternativet når du vil fjerne postene til utført kommando uten å deaktivere historiekommandoen.

$ historie -C

Rullende historieliste:

Du kan bevege deg gjennom de tidligere utførte kommandoene enkelt ved å bruke pil og ned pil ned. Uten å bruke Arrow -tasten kan du gå bakover til historielisten ved å trykke på Ctrl+P og kan gå frem til historielisten ved å trykke på Ctrl+N. Aktiver historiekommandoen, kjør noen kommandoer og sjekk disse alternativene.

Søker kommando fra historien:

Du kan søke på kommandoen fra historien ved å trykke på Ctrl+R. Når disse tastene blir trykket, vises et søkealternativ. Kommandoen vil søke fra historien basert på tastetrykk av brukeren.

Konklusjon

Linux -brukerne kan lagre tidene sine ved å bruke historiekommando effektivt. De fleste ofte brukte historiekommandoer blir prøvd å forklare i denne opplæringen for å hjelpe brukerne til å bruke denne kommandoen riktig.