Le 2 variabili di ambiente che influiscono maggiormente sull'impostazione della cronologia di Bash per il salvataggio degli ultimi comandi eseguiti sono HISTSIZE e HISTFILESIZE . Il post è un breve howto su come modificare il numero di comandi ricordati nella cronologia di bash.
HISTSIZE V/s HISTFILESIZE
La differenza tra HISTSIZE e HISTFILESIZE è che HISTSIZE limita il numero di comandi mostrati dalla cronologia dei comandi mentre HISTFILESIZE limita il numero di comandi che possono essere salvati in $HISTFILE.
Quando si esce da bash, se ci sono più di $HISTSIZE numero di comandi che sono stati eseguiti nella singola sessione bash, il contenuto di $HISTFILE sarà sostituito dal $HISTSIZE numero di comandi. Se nella sessione bash è presente un numero di comandi inferiore o uguale a $HISTSIZE, questi comandi verranno aggiunti a $HISTFILE purché $HISTFILESIZE lo consenta.
Se il numero di comandi da aggiungere a $HISTFILE più il numero corrente esistente di comandi in $HISTFILE è maggiore di $HISTFILESIZE, i comandi più vecchi in $HISTFILE verranno rimossi per garantire che i comandi più recenti vengano mantenuti.
Come modificare il numero di comandi ricordati nella cronologia di bash
In bash, per impostazione predefinita, i comandi della cronologia sono registrati in ~/.bash_history file. Puoi specificare un file diverso da ~/.bash_history utilizzando la variabile di ambiente HISTFILE . Il numero di comandi da ricordare nella cronologia può essere specificato dalla variabile d'ambiente HISTSIZE . Ad esempio, aggiungi la seguente riga al tuo .bash_profile:
# vi ~/.bash_profile export HISTSIZE=500
Quindi esci dalla shell corrente e avviane una nuova Oppure puoi eseguire il file .bash_profile affinché le modifiche abbiano effetto. Il numero di comandi della cronologia da ricordare verrà modificato in 500.
# . .bash_profile
Cambiare il numero di comandi ricordati nella cronologia di bash nella shell corrente
Si può anche eseguire il comando seguente per forzare l'aggiunta dei comandi della cronologia a $HISTFILE anche se ci sono più di $HISTSIZE numero di comandi che sono stati eseguiti nella sessione bash:
# shopt -s histappendUNIX/Linux:esempi di comando bash history per ripetere gli ultimi comandi
CentOS/RHEL:come disabilitare la cronologia della shell BASH
CentOS/RHEL:come ottenere la data e l'ora del comando eseguito nell'output del comando history