266 votes

Comment rechercher dans l'historique de ma ligne de commande les commandes que j'ai utilisées auparavant ?

Outre l'affichage de l'historique, existe-t-il un moyen de filtrer mon historique ?

Disons que je veux rechercher une commande qui commence par "ssh" ?

366voto

Jeffrey Points 2616

Appuyez sur Ctrl + R et le type ssh . Ctrl + R lancera la recherche de la commande la plus récente à l'ancienne (recherche inverse). Si vous avez plus d'une commande qui commence par ssh Presse Ctrl + R encore et encore jusqu'à ce que vous trouviez la correspondance.

Une fois que vous avez trouvé la correspondance, vous pouvez appuyer sur Enter pour exécuter la commande ou le curseur gauche/droit pour sélectionner le texte de la commande.

Il n'y a pas d'option inverse par défaut pour Ctrl + R pour inverser la direction de la recherche mais aquí vous trouverez quelques suggestions à ce sujet.

133voto

Louis W Points 367

Si vous voulez juste faire une recherche dans votre historique, vous pouvez simplement utiliser history | grep ssh en remplaçant ssh par ce que vous voulez rechercher.

19voto

doug Points 16490

Je fais une légère variation de ce qui précède, cela fonctionne bien pour moi (si vous vous référez à votre historique bash

Dans mon dossier personnel, je crée un fichier nommé

.inputrc

Voici ce qui se passe à l'intérieur

"\e[5~": history-search-backward
"\e[6~": history-search-forward

Note : ce qui précède ne semble plus fonctionner dans la version 14.04, alors ceci fait la même chose

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

Ensuite, en tapant la quantité de commande précédente que je souhaite et en utilisant les boutons page up/page dn, j'effectue une recherche dans l'historique, en commençant toujours par la page up.

14voto

DisgruntledGoat Points 3157

Voici une autre méthode utilisant les commandes classiques (plus susceptible de fonctionner avec toutes les distributions). L'historique des commandes est stocké dans le fichier .bash_history dans votre répertoire personnel, afin que vous puissiez le faire :

grep "ssh" ~/.bash_history

N'oubliez pas le -i si vous souhaitez une recherche insensible à la casse.

13voto

John Points 9

Presser Ctrl + R lancera le mode "recherche inversée", taper "ssh" recherchera dans votre historique les commandes contenant "ssh".

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X