#1 Le 11/04/2009, à 20:51
- Krevan
Une meilleure gestion de l'historique Bash
Bonjour — ou bien Bonsoir c'est selon.
J'ai trouvé cette astuce dans un vieux magasine ; le Linux Magasine Hors-série n°34 — janvier / février 2008, et j'ai eu soudain l'idée de vous la faire partager, car elle a changé radicalement ma vie, ou presque.
J'ignore si j'ai vraiment le droit de vous donner ceci sans vous n'achetiez le magasine, mais dans la mesure où je ne fais pas un simple copier / coller et que je cite mes sources, je vais dire que oui. Si ce n'est pas le cas, vous pouvez toujours supprimer ce sujet.
Vous le savez certainement, toutes les commandes que vous utilisez dans un terminal sont archivées et vous pouvez y accéder par ordre chronologique en appuyant sur les touches fléchées Haut ou Bas.
La fonctionnalité de base se limite à cela. Mais on peut faire beaucoup mieux et beaucoup plus pratique. Si vous voulez retrouver une commande particulière tapée il y a un moment. Prenons pour exemple... hm... « rm /home/user/fichier.ext » !
Vous êtes obligés de taper Haut jusqu'à ce que vous tombiez dessus, et cela peut parfois être assez long — suffisamment long pour qu'il soit plus rapide de taper la commande intégralement.
Grâce à la manipulation ci-dessous, vous n'aurez qu'à taper le début de la commande, par exemple « rm » et à presser la touche Haut. Une recherche sera faite dans l'historique et on vous affichera directement la bonne réponse !
Alors voici comment procéder :
Dans votre fichier ~/.inputrc, ajoutez à la fin :
"\e[A": history-search-backward
"\e[B": history-search-forward
Dans votre fichier ~/.bashrc, ajoutez à la fin :
shopt -s histappend
PROMPT_COMMAND='history -a'
Relancez votre terminal. Et essayez !
Pratique, non ?
« Ce n'est pas une miette de pain, c'est la moisson du monde entier qu'il faut à la race humaine, sans exploiteur et sans exploité. »
Louise Michel
Hors ligne
#2 Le 11/04/2009, à 21:09
- PH
Hors ligne
#3 Le 11/04/2009, à 21:13
- #hehedotcom\'isback
Re : Une meilleure gestion de l'historique Bash
+1
Pratique, merci.
../
Hors ligne
#4 Le 11/04/2009, à 21:34
- Sciensous
Re : Une meilleure gestion de l'historique Bash
par défaut, avec un CTRL+'r' puis en tapant les premieres lettres de la commandes, c'est pareil non ?
antiX 19 et 21 et Ubuntu 20.04 et 22.04
( sous LXDE et gnome-shell )
Hors ligne
#5 Le 11/04/2009, à 21:54
- Hizoka
Re : Une meilleure gestion de l'historique Bash
en effet ctrl + r permet la recherche mais je n'ai pas trouvé comment faire quand il ne me propose pas la commande voulu
genre je fais rm prout.txt
puis rm test.txt
avec une recherche a rm, jene trouve que rm test.txt...
ta methode permet-elle de trouver les differentes commandes proches ?
KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github
Hors ligne
#6 Le 11/04/2009, à 23:19
- Krevan
Re : Une meilleure gestion de l'historique Bash
Normalement, oui.
En tous cas chez moi ça fonctionne comme ça., il me suffit d'appuyer le nombre de fois nécessaire sur la touche Haut.
Je viens même de faire un test pour être sûr...
Et... Oui, c'est le même principe que CTRL+R, mais en moins douloureux pour les doigts — c'est que ça fait un écart quand même !
Dernière modification par Krevan (Le 11/04/2009, à 23:31)
« Ce n'est pas une miette de pain, c'est la moisson du monde entier qu'il faut à la race humaine, sans exploiteur et sans exploité. »
Louise Michel
Hors ligne
#7 Le 12/04/2009, à 07:39
- Hizoka
Re : Une meilleure gestion de l'historique Bash
en fait avec ctrl + r, il est possible de choisir entre les differentes commandes,
c'est pas pratique du tout mais bon :
soit les commande suivantes :
caca v1
caca v2
caca v3
si je veux retrouver "caca v1",
je dois faire :
ctrl + r, taper caca => affiche caca v3
double espace puis retour en arriere => affiche caca v2
espace puis retour en arriere => affiche caca v1
j'admets que c'est pas pratique.
Je vais donc tester l'astuce voir si c'est mieux
POUR INFO : sous kubuntu
pas de ~/.inputrc juste un /etc/inputrc
mais ~/.bashrc existe.
Verdict, c'est beaucoup plus pratique ton astuce
merci
Dernière modification par Hizoka (Le 12/04/2009, à 07:45)
KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github
Hors ligne
#8 Le 12/04/2009, à 09:34
- serged
Re : Une meilleure gestion de l'historique Bash
Super ! Je retrouve le comportement de 4DOS...
Pour Hizoka : Pas de différence [k|x|]ubuntu : Si tu n'a pas de ~/.inputrc, il faut le créer. Par contre le /etc/inputrc, c'est pour tous les utilisateurs (il faut alors mettre ce qu'on met dans ~/.bashrc dans /etc/bash.bashrc ).
LinuxMint Vera Cinnamon et d'autres machines en MATE, XFCE... 20.x , 21.x ou 19.x
Tour : Asus F2A55 / AMD A8-5600K APU 3,6GHz / RAM 16Go / Nvidia GeForce GT610 / LM21.1 Cinnamon
Portable : LDLC Mercure MH : Celeron N3450 /RAM 4Go / Intel HD graphics 500 i915 / biboot Win 10 (sur SSD) - LM21.1 MATE (sur HDD)
Hors ligne
#9 Le 12/04/2009, à 09:44
- Hizoka
Re : Une meilleure gestion de l'historique Bash
ouais je sais que le etc c'est pour tout le monde.
Apres tout le monde n'est pas obligé d'utiliser cette option
enfin bon, ca marche aussi dans ~/.bashrc
KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github
Hors ligne
#10 Le 12/04/2009, à 09:59
- Balkoth
Re : Une meilleure gestion de l'historique Bash
en fait avec ctrl + r, il est possible de choisir entre les differentes commandes,
c'est pas pratique du tout mais bon :
soit les commande suivantes :
caca v1
caca v2
caca v3si je veux retrouver "caca v1",
je dois faire :
ctrl + r, taper caca => affiche caca v3
double espace puis retour en arriere => affiche caca v2
espace puis retour en arriere => affiche caca v1
Ben après ctrl + r, taper caca => affiche caca v3, tu refais ctrl + r => affiche caca v2; ctrl + r => affiche caca v1.
Cette astuce sert juste à pouvoir utiliser les flèches à la place de ctrl+r
Hors ligne
#11 Le 12/04/2009, à 10:08
- Hizoka
Re : Une meilleure gestion de l'historique Bash
cool merci pour l'info, je trouvais ca vraiment galere de faire espace et retour en arriere... :d
KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github
Hors ligne
#12 Le 13/07/2011, à 07:46
- Compte supprimé
Re : Une meilleure gestion de l'historique Bash
Bonjour,
j'ai complété la documentation de terminal.
Pour compléter les commandes à partir de l'historique
#13 Le 03/09/2016, à 08:17
- CasseTaTélé_isback
Re : Une meilleure gestion de l'historique Bash
arg, je voulais ré-implémenter cette fonction bien pratique mais il n'y a plus de fichier .inputrc ...
Je l'ai créé pour rajouter les commandes indiquées mais ça marche pas ...
Edit: une fois le .inputrc créé, il faut redémarrer le terminal et ça marche.
Dernière modification par CasseTaTélé_isback (Le 03/09/2016, à 10:15)
Ubuntu 20.04
Hors ligne
#14 Le 04/09/2016, à 15:18
- Compte supprimé
Re : Une meilleure gestion de l'historique Bash
arg, je voulais ré-implémenter cette fonction bien pratique mais il n'y a plus de fichier .inputrc ...
Je l'ai créé pour rajouter les commandes indiquées mais ça marche pas ...Edit: une fois le .inputrc créé, il faut redémarrer le terminal et ça marche.
Ok. Est-ce toi qui a modifié la documentation du terminal ou était-ce écrit ?
…
Relancez votre terminal. Et essayez ! Pratique, non ?
…
#15 Le 04/09/2016, à 17:44
- CasseTaTélé_isback
Re : Une meilleure gestion de l'historique Bash
C'était écrit , c'est pas moi qui ai modifié ! désolé j'avais pas vu !
Ubuntu 20.04
Hors ligne