Afficher et utiliser l’historique des commandes Linux

Depuis le temps que je bosse sous Linux, j’ai honte de ne découvrir ça que maintenant : afficher l’ensemble des commandes précédemment tapées dans un terminal, grâce à history.

Afficher l’historique

La méthode la plus rapide pour utiliser l’historique des commandes est bien entendu d’utiliser les flèches du pavé directionnel ( et ), mais il est possible d’afficher la totalité des commandes lancées précédemment, en tapant simplement :

history

Par défaut, history affiche toutes les commandes enregistrées, de la plus ancienne à la plus récente. L’historique  est enregistré dans le fichier .bash_history

N’afficher que les 10 dernières entrées

history | tail

Vider l’historique

history -c

 

Utilisation de l’historique

Utiliser l’ID d’une entrée

À son exécution, history nous retourne toutes les commandes ainsi que leur numéro d’entrée (première colonne). On peut donc utiliser ce numéro pour relancer des commandes sans avoir à les retaper. Si on veut par exemple ré-exécuter la commande numéro 117, il suffit alors de rentrer :

!117

Rechercher dans l’historique

Le raccourci clavier Ctrl+R permet de rentrer en mode de recherche dans l’historique. Le prompt ressemble alors à ça :

(reverse-i-search)`':

Reste alors de rentrer les premiers caractères de la commande à rechercher pour que le prompt vous propose les commandes les plus récentes correspondant à vos frappes, puis Enter quand vous avez retrouvé la bonne commande.

Il est même possible de faire cette recherche « à la volée », c’est à dire sans passer par le mode de recherche. Exemple si on veut exécuter la dernière commande commençant par « qstat » :

!qstat
Afficher et utiliser l’historique des commandes Linux
3.64 (72.73 %) 11 votes
  • Cascador

    Hello,

    Tu es sûr de toi pour la commande history -r ? Je travaille sur Ubuntu et Debian et ça n’inverse absolument pas l’ordre. help history semble me donner raison (ainsi que les tests que je viens de faire lol).

    Perso, je fais un pitoyable : history | tac | less mais je cherche à faire plus propre. Je me suis reconnu dans ta phrase : « Depuis le temps que je bosse sous Linux, j’ai honte de ne découvrir ça que maintenant », c’est la magie de GNU/Linux on en découvre tous les jours ! Moi, j’ai été éclaté en découvrant la commande tac.

    Pour info, on tape la discut sur history ici : http://memo-linux.com/supprimer-ou-bloquer-lhistorique-des-commandes-executees-dans-un-terminal/

    Tcho !

    • Salut !
      Effectivement, il semble que je me sois fourvoyé sur le history -r, je le vire de suite.

      Je connaissais pas tac (« cat » à l’envers, CQFD 🙂 ). Appliqué à history, il faut faire un suivi régulier de l’historique pour trouver une utilité à aller chercher les premières commandes enregistrées 🙂

  • Merci beaucoup, je ne suis pas expert Linux et c’est souvent long de se rappeler de toutes les commandes dont j’ai besoin régulièrement. Le raccourci Ctrl+R va devenir mon nouvel indispensable 🙂