Quand on utilise un peu Linux, on est habitué aux commandes history et grep mais on ne sait pas forcément qu’on peut combiner les deux pour faire une recherche dans toutes les commandes déjà tapées sur la machine. Ce tutoriel explique comment faire une recherche sur un mot ou une expression dans tout l’historique des commandes Linux.

Ce guide est compatible avec toutes les distributions Linux : Ubuntu, Debian, Red Hat, Fedora, CentOS, Mint… Ces commandes sont également compatibles macOS (Mac OS X).

Dans notre exemple, nous allons rechercher la commande qui avait été utilisée pour installer Microsoft SQL Server sur Linux Ubuntu. Bien sûr, cette procédure s’applique à tout ce qu’on peut bien vouloir chercher dans l’historique bash du terminal.

Dans un second temps, ce tutoriel montre comment créer un alias pour avoir un raccourci qui appelle la commande history | grep. Ce sera utile si cette commande est fréquemment utilisée.

 

Combiner history et grep dans l’historique des commandes Linux

1. De base, on utilise un terminal pour faire une recherche des commandes déjà exécutées sur un OS Linux : history.

tutoriel Linux history grep

2. Pour faire la recherche d’un mot clé dans l’historique, taper simplement :

history | grep motcle

Par exemple : history | grep sql

tutoriel Linux history grep

3. Pour chercher une expression, utiliser des guillemets ou des quotes :

history | grep "mot cle"

Exemple : history | grep ‘get install’

tutoriel Linux history grep

4. Et pour chercher une expression qui intègre déjà des quotes, il faut les entourer de simple ou double quotes :

history | grep ‘expression a "chercher” dans historique’

Le grep avec simple quote renverra ici les commandes qui utilisent des doubles quotes.

A l’inverse, il faudra utiliser un grep double quote pour retrouver une phrase qui utilise de simples quotes :

history | grep "expression a 'chercher' dans historique"

 

Créer un alias pour history | grep

Si l’on utilise régulièrement les commandes history | grep, on peut alors créer un alias pour éviter de taper ces deux mots ainsi que la barre verticale.

Par exemple, alias hgrep=’history | grep’ à ajouter dans le .bashrc du poste ou du serveur Linux.