Il suffit de modifier deux fichiers cachés ~/.inputrc et ~/.bashrc (dans mon cas j'ai dû créer le fichier .inputrc qui n'existait pas).

- Dans ~/.inputrc rajoutez:

"\e[A": history-search-backward
"\e[B": history-search-forward

Dans ~/.bashrc vérifiez que " shopt -s histappend " est bien dé-commenté et ajoutez en dessous:

PROMPT_COMMAND='history -a'

- Redémarrez votre session.

Vous n'aurez plus qu'à taper un début de commande déjà utilisée et de vous servir des flèches [haut] et [bas] pour naviguer dans l'historique correspondant.

- Meilleure gestion de l'historique Bash – history

$ echo $HISTSIZE
1000

Le nombre maximum de commandes retrouvé lors de l’appel de la commande history, ici la valeur par défaut est 1000.

$ echo $HISTFILESIZE
2000

Le nombre maximum de lignes contenu dans le fichier d’historique, ici la valeur par défaut est 2000.

- On peut modifier ces valeurs toujours dans le fichier ~/.bashrc

$ vi /home/pedro/.bashrc
(…)
# for setting history length see HISTSIZE and HISTFILESIZE in bash(1)
HISTSIZE=1000
HISTFILESIZE=2000
(…)

Voyons maintenant la commande history qui doit remonter les X dernières commande :

$ history
(…)
62  sudo mount /dev/mapper/test /test
63  touch /test/fichier_vide
64  sudo touch /test/fichier_vide
65  ls
66  ls /test/
67  sudo umount /test
68  sudo cryptsetup remove test
69  sudo cryptsetup --cipher=aes-xts-plain64 -s 512 create test /test/sdb3
70  sudo fdisk -l
(…)

- Si je souhaite relancer la commande 70

$ !70

- Relancer la dernière commande:

$ !!

- Pour vider l'historique:

$ history -c