Toutes les commandes lancées dans un terminal shell Bash Linux sont conservées dans un fichier, il est possible de les consulter et de les effacer. La conservation de l’historique des requêtes est parfois très utiles mais il est parfois nécessaire de supprimer certaines entrées.
Fichier historique
L’historique des commandes tapées par les utilisateurs est conservé dans le fichier ~/.bash_history
ou parfois dans ~/.history
Chaque utilisateur possède son propre fichier d’historique des commandes, la commande history
permet d’accéder à son propre historique mais pas à celui des autres utilisateurs.
# history |
Il est à noter que root peu bien entendu directement consulter l’historique de n’importe quel autre utilisateur en ouvrant directement le fichier /home/user/.bash_hitory
# cat ~/.bash_history |
Effacement
Effacer l’historique
Pour vider complètement l’historique :
# history -c |
Effacer une seule ligne
Pour effacer uniquement une seule ligne, ici la 42 :
# history -d 42 |
Effacer plusieurs lignes
Commande history
En utilisant les options d’history
# history -d start end |
Boucle for
Avec une boucle for, avec ValeurMin < ValeurMaxi l’intervalle de lignes à supprimer :
# for (( i=ValeurMini; i<=ValeurMaxi; i++ )); do history -d $i; done |
Avec un script
Ce script bash permet de supprimer plusieurs lignes de l’historique en utilisant une boucle sur les numéros de ligne.
for (( i=42; i <= 50; i++ )) |
Avec un script interactif
Effacer plusieurs lignes à l’aide d’un script interactif
#!/bin/bash |
Documentation
Xa, le man de bash