ctrl + r dans la ligne de commande du terminal linux / ubuntu

17

Avec CTRL+, Rvous pouvez rechercher dans les commandes précédentes (dans le terminal d'Ubuntu). Cependant, il semble toujours afficher la dernière occurrence du terme de recherche. Existe-t-il un moyen de parcourir tous les résultats?

hsmit
la source

Réponses:

34

Après avoir tapé les quelques caractères à rechercher, vous pouvez appuyer à nouveau sur CTRL + R pour parcourir l'historique qui correspond à ce que vous avez tapé.

Il sera cependant limité à la taille de l'historique.

Matthieu
la source
IMPRESSIONNANT! c'est exactement ce que je cherchais!
Alfasin
1
Pour contrôler la taille de l'historique, on peut noter que HISTFILESIZEcontrôle la taille du fichier d'historique ( ~/.bash_history), mais HISTSIZEcontrôle la taille de l'historique du terminal spécifique, et c'est ce dernier qui décide jusqu'où Ctrl+Rpeut revenir en arrière . Je l'ai noté sur une machine où j'avais agrandi la première variable, mais pas la dernière. Les deux sont initialement définis sur 500, mais si l'on veut que plus d'historique de recherche inversée soit enregistré, les deux variables doivent être mises à jour.
Daniel Andersson
8

Vous avez juste besoin d'appuyer à CTRL-Rnouveau.


la source
2

Si vous voulez simplement voir toutes les lignes d'historique correspondantes en même temps, essayez fc -ln | grep.

mress:10077 Z$ fc -ln -100 | grep \^cd 
cd /Volumes/Development/android-sdk-mac_x86
cd ~/Downloads/MagicTrackpad.pkg
cd Resources
cd English.lproj
cd ../..
cd MagicTrackpadMultiTouchUpdate1.0.pkg
cd ..
cd 

( -100signifie "les 100 dernières commandes"; la valeur par défaut est 20, ou vous pouvez spécifier une plage.)

geekosaure
la source
1

Pour l'étape sur la recherche, vous devez à CTRL+Rnouveau.

Mais si vous voulez une liste de la commande que vous pourriez utiliser

history | grep 'command to search'
eveevans
la source