En triant mes favoris, j’ai retrouvé une astuce assez sympathique permettant d’effectuer des recherches dans votre historique bash, ce qui pourra vous donner un sacré coup de main si vous utilisez souvent un terminal (SSH compris).
Comme vous le savez surement, toutes les commandes tapées sont enregistrées dans votre historique Bash (~/.bash_history
), vous pouvez naviguez dans cette historique dans votre terminal via les touches fléchées Haut et Bas.
Si vous voulez avoir un aperçu de votre historique il vous suffit d’utiliser la commande
history
Ci-dessous un exemple d’output d’history
1 PS1='\e[1;35m[\u@\h \w]\$ \e[m ' 2 PS1="\e[0;32m[\u@\h \W]\$ \e[m " 3 PS1="\u@\h:\w [\j]\$ " 4 ping google.com 5 echo $PS1 6 tail -f /var/log/messages 7 tail -f /var/log/messages 8 clear
On peut toujours effectuer une recherche
history | grep command-name
Vous serez d’accord que ce n’est pas forcément ce qu’il a de plus pratique. Donc passons à la petite astuce qui vous permettra de mieux gérer votre historique bash.
Rechercher dans l’historique Bash
En modifiant un peu notre fichier .bashrc
et .inputrc
on peut arriver à faire beaucoup mieux et certainement plus pratique. Une fois ces modifications effectuées vous n’aurez qu`à taper le début d’une commande et à presser la touche Haut, vous naviguerez alors dans tout l’historique de cette commande directement depuis votre terminal.
Modifiez ou créez .inputrc
nano ~/.inputrc
Ajoutez-y les linges suivantes
"\e[A": history-search-backward "\e[B": history-search-forward
Passez à .bashrc
nano ~/.bashrc
Ajoutez dans ce fichier
shopt -s histappend PROMPT_COMMAND='history -a'
Vous pouvez maintenant relancer votre terminal/session SSH
Source
Krevan. forum ubuntu-fr, Une meilleure gestion de l’historique bash