Come cercare nella mia storia di ZSH

Come cercare nella mia storia di ZSH

La maggior parte di noi trascorre il nostro tempo nel terminale, eseguendo comandi, configurazione di server, sviluppare strumenti e altro ancora. In alcuni casi, ci troviamo più e più volte comandi simili.

Sebbene sia possibile creare script per automatizzare tali attività, a volte i comandi possono variare leggermente. Se si verifica un tale scenario, la cronologia dei comandi è il modo migliore per andare.

Storia di zsh

ZSH è un guscio popolare costruito sopra la bash. Memorizza la cronologia dei comandi in .file zsh_history nella tua home directory.

Se la tua shell ZSH non supporta la cronologia dei comandi per impostazione predefinita, controlla il nostro articolo di cronologia dei comandi ZSH per imparare come abilitarlo.

Il numero totale di comandi che il comando ZSH può archiviare nel file della cronologia dipende dalla variabile $ savehist.

Come usare la cronologia dei comandi ZSH

Ora che sappiamo che la shell ZSH salva i tuoi comandi in un file, identifichiamo come possiamo usarlo per semplificare il nostro utilizzo del terminale.

Per visualizzare tutti i comandi memorizzati nel tuo file di cronologia ZSH, usa il comando cronologia.

Se si esegue il comando cronologia senza argomenti, ZSH mostrerà tutti i comandi memorizzati nel file della cronologia:

storia

Di seguito è riportato un output di esempio:

38 echo $ histfile
39 ZSH
..
53 STORIA
54 Env
55 Cat .zshrc

Nella maggior parte dei casi, il comando cronologia visualizzerà un ampio elenco di tutti i comandi eseguiti. È possibile tubolare l'output su comandi come grep per cercare un comando specifico o meno per navigarla facilmente.

Storia | grep eco

O meno:

Storia | meno

Il comando cronologia supporta anche la notazione numerica. Ad esempio, per mostrare gli ultimi comandi N nel file di cronologia, usa il -n in cui n è il numero di comandi da mostrare.

Ad esempio, per mostrare gli ultimi 5 comandi, possiamo fare:

Storia -5

Per mostrare dall'ennesimo comando, usa il +N.

Ad esempio, per mostrare la cronologia dal decimo comando all'ultimo, usa il comando come:

Storia +10

Come cercare la cronologia dei comandi ZSH

Sebbene il comando cronologia possa essere utile per visualizzare tutta la cronologia dei comandi, non è molto utile quando si desidera rieseguire un comando precedente.

Concentriamoci ora su come possiamo cercare la cronologia dei comandi e rieseguire un comando precedente.

Freccia su e giù

Il modo più comune per cercare attraverso la cronologia dei comandi è utilizzare le tasti di freccia su e giù.

La freccia up scorrerà la cronologia dei comandi dall'ultimo a il più presto. Una volta trovato il comando che desideri ripetere, premere Torna per eseguirlo.

Scoppio (!) formato

Un altro modo per cercare attraverso la cronologia dei comandi è utilizzare l'esclamazione (!) segno. Se digiti il ​​doppio botto (!!), eseguirà il comando più precedente:

!!

Il caso d'uso più comune per questo formato è quando si dimentica di eseguire un comando come sudo. Ad esempio, se si esegue il comando apt come:

Aggiornamento APT

È possibile eseguire la reinserimento del comando come sudo usando la sintassi:

sudo !!

Quanto sopra riempirà il comando apt come sudo.

Se corri !n-dove n è il numero di comando nella cronologia dei comandi-, è possibile eseguire un comando specifico nel file della cronologia.

Ad esempio, per eseguire il dodicesimo comando nella cronologia dei comandi, puoi fare:

!12

Se non riesci a ricordare il numero del comando che si desidera eseguire, puoi usare il !formato di parola per eseguire il comando a partire dalla parola specificata.

Ad esempio, per eseguire il comando a partire dalla parola printenv:

!Printenv

Il comando sopra eseguirà il comando più recente che corrisponde alla parola specificata.

Ricerca ricorsiva

Un altro modo comune per cercare la cronologia dei comandi è la ricerca ricorsiva. Per usarlo, premere Ctrl + R nella sessione del terminale. Questo cambierà la sessione del terminale in modalità di ricerca e puoi digitare per i comandi precedenti.

BCK-I-SARCH: _

Mentre digiti, la shell cercherà un comando corrispondente nella cronologia. Per cercare il prossimo suggerimento corrispondente, premere Ctrl + R.

Una volta trovato un comando corrispondente, premi torna per eseguirlo.

prompt di stampa
BCK-I-SEARCH: Print_

Modifica del comportamento della storia di ZSH

Anche se non esamineremo tutte le modifiche che puoi eseguire per migliorare la cronologia dei comandi ZSH, i seguenti sono utili per sapere.

Per cancellare la cronologia dei comandi, usa il comando:

STORIA -C

Quanto sopra ti darà un output che indica che il file di cronologia è stato pulito.

File di cronologia eliminato.

Un'altra modifica che possiamo fare è alla variabile $ histControl. Controlla la documentazione ZSH per saperne di più su questo. Tuttavia, possiamo dire a ZSH di evitare di salvare i comandi duplicati aggiungendo la variabile come:

Export HistControl = IgnoradUps

Conclusione

Questo tutorial ha discusso di come lavorare e utilizzare la cronologia dei comandi ZSH per migliorare la tua esperienza di terminale. Abbiamo coperto come cercare la cronologia dei comandi.

Grazie per aver letto!