Comprendre l’historique des commandes sous Linux
Linux offre une fonctionnalité puissante pour garder une trace des commandes que vous avez exécutées, ce qui peut s’avérer très utile pour le dépannage ou la répétition de tâches précédentes. Grâce à la commande history, vous pouvez facilement visualiser les dernières actions effectuées dans le terminal. Cependant, par défaut, cette commande n’affiche pas les horodatages associés aux commandes, ce qui peut limiter son utilité. Pour remédier à cela, des options existent pour activer l’enregistrement des dates et heures.
Utiliser la variable HISTTIMEFORMAT
Pour afficher les horodatages des commandes dans votre historique, vous devez définir la variable d’environnement HISTTIMEFORMAT. Cette variable contrôle le format d’affichage des dates et heures lorsque vous consultez votre historique. En l’activant, vous pouvez personnaliser les informations temporelles pour chaque commande. Par exemple, vous pouvez choisir d’afficher la date complète suivie de l’heure en utilisant le format %F %T, où %F correspond à l’année-mois-jour et %T à l’heure:minute:seconde. Pour activer cette fonctionnalité, entrez la commande suivante dans votre terminal :
export HISTTIMEFORMAT="%F %T "
Comment rechercher l’historique Linux par date et heure ?
Une fois que vous avez configuré HISTTIMEFORMAT, vous pouvez consulter votre historique avec les dates en utilisant la commande history. Chaque entrée de l’historique affichera son horodatage. Pour simplifier la recherche d’entrées spécifiques, vous pouvez combiner cette fonction avec des outils comme grep pour filtrer vos résultats. Par exemple, si vous souhaitez trouver toutes les commandes exécutées à une date précise, vous pourriez utiliser :
history | grep "2023-10-03"
Cette commande affichera toutes les commandes enregistrées le 3 octobre 2023. Cela vous permet de naviguer entre différentes sessions de terminal et d’accéder rapidement à des commandes spécifiques en fonction de leur date d’exécution.
Consulter l’historique dans le fichier .bash_history
Pour une recherche plus approfondie et si vous souhaitez accéder à toutes vos commandes passées, vous pouvez consulter le fichier caché .bash_history situé dans votre répertoire personnel. Ce fichier contient toutes les commandes que vous avez exécutées, même celles des sessions précédentes. En utilisant une commande comme :
cat ~/.bash_history | grep "2023-10-03"
vous pouvez obtenir une liste des commandes exécutées à une date donnée sans avoir besoin de filtrer directement depuis l’interface de « history ». Cela peut être particulièrement utile si vous cherchez des commandes qui ne se trouvent plus dans la mémoire récente de l’historique.
Modifier ou effacer l’historique des commandes
Si nécessaire, il est également possible de modifier ou d’effacer certaines commandes de l’historique. Pour supprimer une commande à une ligne précise, vous pouvez utiliser la commande history -d suivie du numéro de ligne. Par exemple :
history -d 100
Cette commande supprimera la commande située à la 100ème position de l’historique. Pour effacer entièrement l’historique, vous pouvez exécuter :
history -c
Cette commande videra toutes les entrées de l’historique salvateur, ce qui peut être utile pour des raisons de confidentialité ou de sécurité.
FAQ
Quelle est la limite du nombre d’entrées dans l’historique ?
Par défaut, l’historique Bash conserve les 500 dernières commandes, mais vous pouvez modifier cette limite en ajustant la variable HISTSIZE dans votre fichier .bashrc.
Est-il possible de récupérer un historique supprimé ?
Une fois que l’historique est effacé avec history -c ou une commande history -d, il n’est pas possible de le récupérer si vous n’avez pas de sauvegarde ou d’autres moyens d’enregistrement.
Comment stocker l’historique entre plusieurs sessions ?
Pour garantir que votre historique est préservé entre les sessions, assurez-vous que la variable HISTFILESIZE est configurée dans votre fichier .bashrc et que votre historique est enregistré après chaque session avec shopt -s histappend.