Terminal linux - Trucs et astuces
Par sima78 le vendredi 15 mai 2015, 18:58 - Scripts-Commandes - Lien permanent
Améliorer votre Terminal et le bon usage de l'historique "history"
L'idée de ce modeste tuto m'est venu alors que je recherchai une commande que j'avais tapée.
En remontant les commandes avec la flèche "haut" ↑, je ne la trouvais pas, tant de commandes et ma précipitation faisaient que je devais la passer sans m'en rendre compte.
[Ctrl]+r me renvoyait des commandes semblables que j'avais tapé, mais pas celle que je cherchais.
Avec un "find" dans l'historique ou "history |grep ma_recherche" je l'ai retrouvé, mais je me suis dit qu'il doit y avoir plus simple.
Amélioration du Shell.
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
Commentaires
Juste après avoir publié ce billet, j'ai découvert un site qui peut vous aider à faire d'autres améliorations:
http://bashrcgenerator.com/