Hvordan søke i min Zsh -historie

Hvordan søke i min Zsh -historie

De fleste av oss bruker tiden vår i terminalen, kjører kommandoer, konfigurerer servere, utvikler verktøy og mer. I noen tilfeller finner vi at vi kjører lignende kommandoer om og om igjen.

Selv om du kan lage skript for å automatisere slike oppgaver, kan noen ganger kommandoene variere litt. Hvis et slikt scenario skjer, er kommandohistorikken den beste veien å gå.

Zsh -historie

Zsh er et populært skall bygget på toppen av bash. Den lagrer kommandohistorikken din i .zsh_history -fil i hjemmekatalogen din.

Hvis ZSH -skallet ditt ikke støtter kommandohistorikk som standard, kan du sjekke ut Zsh -kommandohistorikkartikkelen for å lære hvordan du aktiverer den.

Det totale antallet kommandoer som ZSH -kommandoen kan lagre i historiske filen, avhenger av $ Savehist -variabelen.

Hvordan bruke ZSH -kommandohistorikken

Nå som vi vet at ZSH -skallet lagrer kommandoene dine i en fil, la oss identifisere hvordan vi kan bruke det til å gjøre terminalbruken enklere.

For å se alle kommandoene som er lagret i Zsh -historifilen din, bruk historiekommandoen.

Hvis du kjører historiekommandoen uten argumenter, vil ZSH vise alle kommandoene som er lagret i historiens fil:

historie

Nedenfor er et eksempelutgang:

38 ekko $ histfile
39 Zsh
..
53 Historie
54 Env
55 katt .Zshrc

I de fleste tilfeller vil historiekommandoen vise en omfattende liste over alle utførte kommandoer. Du kan røre utdataene til kommandoer som grep for å søke etter en spesifikk kommando eller mindre for å navigere i den enkelt.

Historie | grep ekko

Eller mindre:

Historie | mindre

Historiekommandoen støtter også numerisk notasjon. For å vise de siste n -kommandoene i historifilen, bruk for eksempel -n der n er antall kommandoer som skal vises.

For å vise de 5 siste kommandoene, kan vi for eksempel gjøre:

Historie -5

For å vise fra nth -kommandoen, bruk +n.

For eksempel for å vise historien fra den 10. kommandoen til den siste, bruk kommandoen som:

Historie +10

Hvordan søke Zsh -kommandohistorikk

Selv om historiekommandoen kan være nyttig for å se alle kommandohistorikken din, er det ikke veldig nyttig når du vil kjøre en tidligere kommando på nytt.

La oss nå fokusere på hvordan vi kan søke på kommandohistorikken og kjøre en tidligere kommando på nytt.

Opp og ned pil

Den vanligste måten å søke gjennom kommandohistorikken er å bruke piltastene opp og ned.

Up Arrow vil bla gjennom kommandohistorikken din fra det siste til det tidligste. Når du har funnet kommandoen du ønsker å løpe på nytt, trykker du tilbake for å utføre den.

Bang (!) Format

En annen måte å søke gjennom kommandohistorikken din er å bruke utropstegn (!) merke. Hvis du skriver Double Bang (!!), vil den kjøre den mest forrige kommandoen:

!!

Den vanligste brukssaken for dette formatet er når du glemmer å kjøre en kommando som sudo. For eksempel, hvis du kjører APT -kommandoen som:

APT -oppdatering

Du kan kjøre kommandoen på nytt som sudo ved hjelp av syntaks:

sudo !!

Ovennevnte vil kjøre APT-kommandoen på nytt som sudo.

Hvis du løper !n-hvor n er antall kommandoer i kommandoen Historikk-du kan kjøre en spesifikk kommando i historifilen.

For å kjøre den 12. kommandoen i kommandohistorikken, kan du for eksempel gjøre:

!12

Hvis du ikke kan huske nummeret på kommandoen du ønsker å kjøre, kan du bruke !ordformat for å kjøre kommandoen som begynner med det spesifiserte ordet.

For eksempel for å kjøre kommandoen som starter med utskriftsordet:

!PRINTENV

Kommandoen over vil kjøre den siste kommandoen som samsvarer med det angitte ordet.

Rekursivt søk

En annen vanlig måte å søke på kommandohistorikken din på er det rekursive søket. For å bruke den, trykk CTRL + R i terminaløkten. Dette vil endre terminaløkten til søkemodus, og du kan skrive for tidligere kommandoer.

BCK-I-SØK: _

Når du skriver, vil skallet søke etter en samsvarende kommando i historien og foreslå det. For å søke etter neste samsvarende forslag, trykk CTRL + R.

Når du har funnet en matchende kommando, trykker du tilbake for å utføre den.

PRINTENV PROMP
BCK-I-SØK: Print_

Endre Zsh -historieatferd

Selv om vi ikke vil gå over alle finjusteringene du kan utføre for å forbedre Zsh -kommandohistorikken, er følgende nyttige å vite.

For å tømme kommandohistorikken din, bruk kommandoen:

Historie -C

Ovennevnte vil gi deg en utdata som indikerer at historiefilen er renset.

Historiefil slettet.

En annen modifisering vi kan gjøre er for $ HistControl -variabelen. Sjekk ZSH -dokumentasjonen for å lære mer om dette. Vi kan imidlertid fortelle Zsh om å unngå å lagre dupliserte kommandoer ved å legge til variabelen som:

Eksporter HistControl = ignoredups

Konklusjon

Denne opplæringen diskuterte hvordan du jobber med og bruker ZSH -kommandohistorikken for å forbedre terminalopplevelsen din. Vi dekket hvordan du kan søke i kommandohistorikken.

Takk for at du leser!