Come si controlla la cronologia ZSH

Come si controlla la cronologia ZSH
Come utenti di Linux Power, ci imbattiamo spesso in istanze in cui dobbiamo ripetere comandi specifici. Sebbene alcuni siano semplici comandi che possiamo revisionare, alcuni sono domande di espressione regolari complesse e disordinate che richiederanno del tempo per ricostruire.

In tali scenari, possiamo usare la cronologia dei comandi della shell per scorrere i nostri comandi precedenti o utilizzare la ricerca inversa per cercare un comando specifico usando le frecce su e giù.

Questo tutorial discuterà dei modi per trovare e riutilizzare i nostri comandi precedenti usando la funzione cronologia dei comandi ZSH.

Variabili di storia ZSH

Prima di immergerci su come cercare attraverso la nostra cronologia dei comandi in ZSH, è utile discutere di varie variabili che ZSH usa per gestire la cronologia dei comandi.

In alcuni casi, potresti scoprire che la cronologia dei comandi per la shell ZSH non è memorizzata in un file persistente. Pertanto, alcune delle variabili che discuteremo potrebbero non essere impostate.

Le variabili essenziali di cui dovresti essere consapevole quando si lavora con la storia di ZSH sono:

$ Histfile - Questa variabile descrive il percorso del file di cronologia ZSH. Se hai un framework come oh-my-zsh installato, questo si riferirà al .file zsh_history nella tua home directory.

echo $ histfile
/home/ubuntu/.zsh_history

$ Histsize - La variabile istsize determina il numero di comandi caricati nella memoria dal file di cronologia. Per impostazione predefinita, questo valore è impostato su 100 comandi.

echo $ histsize
1000

$ Savehist - Un'altra variabile essenziale è il salvataggio. Determina il numero massimo di comandi memorizzati in .file zsh_history. Il valore predefinito per questa variabile è simile a $ histsize.

echo $ savehist
1000

Quanto sopra sono alcune variabili di cronologia ZSH chiave che dovresti sapere. Puoi saperne di più controllando la documentazione o utilizzando il comando:

uomo zshoptions

Come abilitare la storia di ZSH

Come accennato in precedenza, potresti incontrare una situazione in cui ZSH non mantiene la cronologia dei comandi. Per risolverlo, devi aggiungere $ histfile al tuo .File ZSHRC.

Aggiungi la seguente voce al tuo .File ZSHRC.

esportazione histfile = ~/.zsh_history

È inoltre possibile aggiungere le variabili di ambiente sopra per specificare il numero massimo di comandi memorizzati nel file di cronologia. Sentiti libero di cambiare questo valore in qualsiasi numero che desideri. Tuttavia, a differenza di Bash, non è possibile aggiungere un 0 per archiviare comandi illimitati.

esportazione istsize = 1000
Export SaveHist = 1000

Per salvare le modifiche alla sessione corrente, utilizzare il comando:

Fonte ~/.zshrc

Come visualizzare e utilizzare la cronologia ZSH

Ora che abbiamo abilitato la cronologia dei comandi nella shell Zsh, possiamo imparare a usarla.

Tutti i comandi digiti nella tua sessione ZSH verranno automaticamente archiviati nel file di cronologia per il riutilizzo.

Per visualizzare tutti i comandi memorizzati in .file zsh_history, è possibile ottenere il contenuto del file come:

Tuttavia, solo visualizzare tutti i comandi, hai precedentemente eseguito non ci aiuta.

Per rivedere tutti i comandi eseguiti in precedenza, utilizzare la freccia su e giù per scorrere la cronologia.

La freccia UP scorrerà verso l'alto il file che mostra il primo comando che hai eseguito, mentre la freccia giù scorrerà verso il basso il file mostrando l'ultimo comando nella tua cronologia.
Quando trovi il comando che si desidera eseguire la ripetizione, premi Invio per richiedere la shell per eseguirlo.

Se ti imbatti in un comando con una sintassi simile a ciò che desideri ma non esatto, puoi usare le frecce sinistro e destro per navigare attraverso il comando e modificarlo.

MANCIA: Per navigare rapidamente all'inizio o alla fine del comando, usa rispettivamente Ctrl + A e Ctrl + E,.

Conclusione

Questo tutorial ti ha mostrato come lavorare con la cronologia dei comandi ZSH. Se non è necessario gestire manualmente i parametri del comando ZSH, prendi in considerazione l'installazione del framework OH-My-ZSH fornito con molte funzionalità abilitate all'uso.