Devi essere consapevole dell'utilizzo di up e basso tasti freccia per scorrere l'elenco dei comandi eseguiti nella cronologia di Bash, ma ti rendi conto che c'è molto di più nella cronologia di Bash oltre alla semplice ripetizione dei comandi?
Una di queste funzionalità della shell Bash che può essere modificata nelle impostazioni personalizzate è il comando history, che è influenzato da alcune variabili d'ambiente e da alcune opzioni della shell (shopt – un comando per impostare e deselezionare le opzioni della shell).
[ Potrebbe piacerti anche:Come controllare la cronologia dei comandi di Linux in base alle date ]
Quando utilizzi più finestre della shell o più sessioni contemporaneamente per lo stesso utente da sistemi diversi, il modo in cui il comando history registra i comandi può diventare un po' complicato e alcuni comandi potrebbero essere sovrascritti da quelli più recenti.
Come interrompere l'aggiunta della cronologia di Bash in Linux
Per evitare che ciò accada, puoi impostare la seguente opzione nel tuo ~/.bashrc file.
# ignore duplicate entries and don't overwrite the history export HISTCONTROL=ignoredups shopt -s histappend
Una volta definite le variabili, puoi utilizzare i nuovi valori eseguendo il comando seguente.
$ source .bashrc
Come aumentare la dimensione della cronologia di Bash in Linux
Un'altra possibile difficoltà con il comando cronologia è che può occupare molto spazio su disco se non si dispone di molto spazio su disco per i file personali. Per evitare che ciò accada, devi utilizzare tre variabili di ambiente e sono HISTFILE , HISTFILESIZE e HISTSIZE .
HISTFILE—/home/<username>/.bash_history HISTFILESIZE—1000 HISTSIZE—1000
- Il HISTFILE La variabile specifica il nome e la posizione della cronologia di Bash .bash_history file.
- Il HISTFILESIZE specifica il numero massimo di comandi che possono essere memorizzati in un file di cronologia..
- Il HISTSIZE La variabile specifica quanti comandi memorizzati nella cache una sessione della shell dovrebbe memorizzare nel file di cronologia.
Una volta raggiunti 1000 comandi Linux, i comandi più vecchi verranno abbandonati mentre quelli nuovi vengono salvati.
$ echo $HISTSIZE $ echo $HISTFILESIZE $ echo $HISTFILE

Per impostazione predefinita, a ciascun utente, incluso root, sono allocate queste variabili e dimensioni. Se vuoi cambiare, modifica il .bashrc file nella tua home directory e imposta le variabili di dimensione su 2000 comandi come mostrato:
# control the size of the history file export HISTSIZE=2000 export HISTFILESIZE=2000
Per utilizzare i nuovi valori senza disconnettersi e riaccendersi, è possibile eseguire .bashrc file.
$ source .bashrc
Puoi confermare che i tuoi nuovi valori sono ora attivi per la tua shell corrente e per qualsiasi subshell.
$ echo $HISTSIZE $ echo $HISTFILESIZE

Come evitare di memorizzare comandi duplicati nella cronologia
Se non desideri memorizzare comandi comuni nella cronologia di bash, puoi utilizzare HISTIGNORE variabile per evitare di memorizzare comandi comuni come ls , pwd e tempo di attività , che normalmente non sono molto interessanti da controllare.
Inoltre, se non desideri archiviare comandi duplicati, utilizza semplicemente HISTCONTROL variabile che indica alla cronologia di ignorare le voci duplicate.
Apri il .bashrc file nella tua home directory e aggiungi le seguenti voci:
# ignore common commands export HISTIGNORE=”:pwd:id:uptime:resize:ls:clear:history:” # ignore duplicate entries export HISTCONTROL=ignoredups
Una volta aggiunte le variabili sopra, assicurati di eseguire il comando seguente per utilizzare i nuovi valori.
$ source .bashrc
La cronologia di Bash è uno strumento utile, ma può essere difficile se non sei amichevole con le sue opzioni e il suo utilizzo. Ci sono molte altre opzioni accessibili nella cronologia. Controlla le pagine man per ulteriori informazioni.