historique bash Stampa

  • 0

La commande "history" sous linux joue un rôle important puisqu'il permet de conserver les dernières commandes entrées dans votre terminal. Cela peut être utile pour se rappeler certaines commandes oubliées, éviter de les ré-écrire ou simplement voir rapidement ce qu’un autre utilisateur/admin a fait sur le système. Vous verrez ci-dessous qu'elle est plus puissante qu'elle n'y parait et vous permettra également de comprendre pourquoi certaines commandes n'y apparaissent pas.

Cependant, saviez vous qu' est possible de modifier le comportement de l’historique bash à l’aide de variables d’environnement. Ces variables d’environnement peuvent être ajoutées dans le fichier ~/.bashrc.

Vous pouvez tout d'abord voir les variables en place actuellement via la commande 

set | grep HIST

Voici différents exemples de variables pouvant améliorer votre historique :

# Ne pas enregistrer les commandes qui commencent par un espace
export HISTCONTROL="ignorespace"
# Ne pas afficher les commandes dupliquées qui se suivent
export HISTCONTROL="ignoredups"
# A le même effet que les deux commandes précédente
export HISTCONTROL="ignoreboth"
# Supprime toutes les commandes dupliquées (même celles qui ne se suivent pas)
export HISTCONTROL="erasedups"
# Efface les commandes dupliquées, n'enregistre pas les commandes qui commencent par un espace
export HISTCONTROL="erasedups:ignorespace"
# permet de définir le nombre de ligne qui sera affiché lorsqu’on tape la commande history
export HISTSIZE = 1000
# permet de définir la taille maximale (en nombre de ligne) du fichier d’historique.
export HISTFILESIZE = 10000
# On ignore les commandes ls et cd de l'historique
export HISTIGNORE="ls*:cd*"
# permet de changer le format d’affichage de la commande history
export HISTTIMEFORMAT="%d/%m/%Y %H:%M:%S "

Sachez que malgré cela, un utilisateur peut ne pas être logué dans l'history. En utilisant la commande "set +o history" (-o pour annuler) il passera sous les radars. De même si plusieurs shells sont ouverts en même temps via la commande 'sh' simplement .


Dernière astuce, oubliez le grep pour retrouver une commande parmi votre historique ! Essayez plutôt le CTRL + R puis "!xx" avec xx étant le numéro de ligne afin de la rejouer


Hai trovato utile questa risposta?

« Indietro