GNU history

De Wiki doc


GNU history est un outil permettant d'afficher l'historique des commandes sous Linux. Celui-ci est localisé dans le fichier ~/.bash_history de chaque utilisateur exécutant le Shell Bash.

INFORMATION

Le fonctionnement de l'historique avec Bash est particulier. Ce dernier enregistre les commandes tapées en RAM et ne les écrits dans le fichier ~/.bash_history qu'une fois la session terminée. De plus, si vous avez plusieurs TTY en même temps, l'historique ne sera pas forcement sauvegardé... Ne comptez pas trop sur cette fonctionnalité d'un autre âge pour avoir un suivit infaillible de vos actions.

Pour afficher la liste des commandes tapées précédemment, il suffit d'exécuter le programme sans arguments:

history

Contrairement à son pendant BSD (qui utilise l'option -h), il n'existe pas de paramètre pour n'afficher que les commandes (sans leur numéro). Pour ce faire, il faudra tronquer les chaînes de caractères comme ceci:

history | awk '{$1="";print substr($0,2)}'

Pour vider l'historique, il faut généralement passer par deux étapes :

  • Suppression du fichier journal: rm ~/.bash_history
  • Suppression du tampon: history -c

Il est également possible de ne supprimer qu'une entrée en particulier en précisant son numéro :

history -d 1994