Linux Command · 5 min read · Sep 17, 2025

Tutoriel sur la commande history de Linux pour les débutants (8 exemples)

Si votre travail implique l’exécution d’outils et de scripts sur la ligne de commande Linux, je suis sûr qu’il y a beaucoup de commandes que vous exécutez chaque jour. Ceux qui sont nouveaux sur la ligne de commande doivent savoir qu’il existe un outil - appelé history - qui vous donne une liste des commandes que vous avez exécutées précédemment.

Dans ce tutoriel, nous allons discuter des bases de la commande history à l’aide d’exemples faciles à comprendre. Mais avant cela, il convient de mentionner que tous les exemples ici ont été testés sur une machine Ubuntu 16.04LTS.

Commande history de Linux

Si vous savez comment utiliser efficacement votre historique de ligne de commande, vous pouvez gagner beaucoup de temps au quotidien. Voici quelques exemples sous forme de questions-réponses qui devraient vous donner une bonne idée de la façon dont vous pouvez utiliser la commande history à votre avantage.

Q1. Comment fonctionne la commande history ?

L’utilisation de base est simple - il suffit d’exécuter la commande ‘history’.

history

Comment fonctionne la commande history

Ainsi, vous pouvez voir que vos commandes précédemment exécutées sont affichées dans la sortie. Notez que j’ai utilisé la commande ‘more’ pour m’assurer que l’affichage de la sortie est interrompu à la première page (la sortie complète de ‘history’ est généralement très longue).

Q2. Comment faire en sorte que l’historique affiche également la date et l’heure ?

Si vous souhaitez que la commande history affiche la date et l’heure d’exécution de chaque commande, vous pouvez le faire en exportant la variable HISTTIMEFORMAT de la manière suivante :

export HISTTIMEFORMAT="%F %T: "

C’est tout. Maintenant, lorsque vous exécuterez la commande ‘history’, vous verrez les informations de date et d’heure dans la sortie.

Comment faire en sorte que l'historique affiche également la date et l'heure

Dans le cas où vous voyez que la date et l’heure sont les mêmes pour toutes les commandes, l’explication suivante devrait clarifier les choses :

Si vous définissez le HISTTIMEFORMAT dans bash, vos nouvelles entrées sont stockées dans le fichier d'historique avec un
timestamp, les anciennes commandes qui n'ont pas de timestamp (celles avant que vous ne définissiez jamais HISTTIMEFORMAT)
afficheront un même timestamp (je suppose celui de la première entrée trouvée avec un
timestamp réel).

Ce problème devrait se résoudre de lui-même après que votre historique complet a été mis à jour dans quelques jours.

Vous pouvez regarder dans ~/.bash_history pour voir quelle est la première ligne qui a un timestamp.
Ce sont des lignes commençant par un # suivi d'un nombre (actuellement) à 10 chiffres.

Q3. Comment faire en sorte que l’historique cesse d’enregistrer les commandes ?

Si une situation se présente où vous ne souhaitez pas que le système enregistre l’historique de vos commandes, vous pouvez le faire en utilisant la variable HISTSIZE. Il suffit de l’exporter avec zéro comme valeur, et c’est bon.

Voyez l’exemple suivant :

Ainsi, vous pouvez voir que l’exécution de la commande ‘history’ n’a maintenant produit aucun résultat.

Notez qu’il existe également une variable HISTFILESIZE. Voici la différence entre les deux :

HISTSIZE est le nombre de lignes ou de commandes qui sont stockées en mémoire dans une liste d'historique pendant que votre
session bash est en cours.

HISTFILESIZE est le nombre de lignes ou de commandes qui (a) sont autorisées dans le fichier d'historique au démarrage
d'une session, et (b) sont stockées dans le fichier d'historique à la fin de votre session bash pour une utilisation dans
les sessions futures.

Q4. Comment faire en sorte que l’historique n’enregistre pas une seule commande ?

Cela peut être fait en définissant la variable HISTCONTROL sur ‘ignorespace’. Vous pouvez le faire de la manière suivante :

export HISTCONTROL=ignorespace

Maintenant, chaque fois que vous exécutez une commande que vous ne souhaitez pas enregistrer dans l’historique, il suffit de l’exécuter avec un espace devant.

Q5. Comment effectuer une recherche rapide dans l’historique ?

Bien sûr, vous pouvez utiliser la commande grep pour rechercher des mots-clés ou des commandes spécifiques dans la sortie produite par la commande history. Cependant, il existe également une méthode beaucoup plus rapide : la recherche inversée.

C’est assez facile - tout ce que vous avez à faire est d’appuyer sur CTRL+R pendant que vous êtes sur la ligne de commande, et vous verrez votre invite se transformer en quelque chose comme ceci :

Maintenant, tapez le mot-clé que vous souhaitez rechercher, et vous verrez des suggestions correspondantes de l’historique à droite. Par exemple, j’ai tapé ‘man’ (sans les guillemets), et le premier résultat que j’ai obtenu était ‘man apropos’.

Si ce n’est pas ce que vous recherchez, vous pouvez obtenir le résultat correspondant suivant en appuyant à nouveau sur CTRL+R. Donc, dans mon cas, le résultat suivant que j’ai obtenu était ‘man find search.’

Vous pouvez continuer à rechercher de cette manière. Une fois que vous obtenez le résultat que vous souhaitez, il vous suffit d’appuyer sur la touche flèche droite et vous obtiendrez la commande entière sur votre invite.

Vous pouvez donc exécuter cette commande, ou l’utiliser comme vous le souhaitez.

Q6. Comment exécuter la commande précédente ?

Il existe deux façons simples d’exécuter la dernière commande exécutée : appuyer sur CTRL+P, ou exécuter la commande suivante :

!!

Vous ne me croyez pas (particulièrement la deuxième méthode) ? Essayez-la.

Dans le cas où le besoin est d’exécuter rapidement la deuxième dernière commande, vous pouvez le faire de la manière suivante :

!-1

Et ainsi de suite.

Q7. Comment faire en sorte que l’historique ignore les entrées en double dans la sortie ?

Cela peut être fait en définissant la variable HISTCONTROL sur ‘ignoreboth’ et ‘erasedups’. Vous pouvez le faire de la manière suivante :

echo HISTCONTROL=ignoreboth:erasedups

Maintenant, lorsque vous exécuterez la commande history, la sortie ne contiendra pas de doublons.

Q8. Comment effacer l’historique ?

Si vous souhaitez effacer l’historique existant afin de pouvoir recommencer à zéro, utilisez l’option de ligne de commande -c.

history -c

Conclusion

Vous conviendrez probablement que l’historique est une commande très importante dont vous devriez être conscient. Dans ce tutoriel, nous avons discuté de plusieurs conseils et astuces importants pour tirer le meilleur parti de cet outil. Une fois que vous avez pratiqué ces éléments, consultez la page de manuel de l’outil pour plus d’informations.

Share: X/Twitter LinkedIn

Recevez de nouveaux articles dans votre boîte de réception.

Aucun spam. Désabonnez-vous à tout moment.