Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#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 ?
big_smile


« 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

Re : Une meilleure gestion de l'historique Bash

bjr,
j'adhère
merci
@+

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...
hmm

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 smile

POUR INFO : sous kubuntu
pas de ~/.inputrc juste un /etc/inputrc
mais ~/.bashrc existe.

Verdict, c'est beaucoup plus pratique ton astuce smile
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... cool

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 smile
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

Hizoka a écrit :

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

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 smile

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

CasseTaTélé_isback a écrit :

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 smile ?

https://doc.ubuntu-fr.org/terminal?&#pour_completer_les_commandes_a_partir_de_l_historique a é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 smile !


Ubuntu 20.04

Hors ligne