ctrl + r en la línea de comando del terminal linux / ubuntu

17

Con CTRL+ Rpuedes buscar en comandos anteriores (en la terminal de Ubuntu). Sin embargo, siempre parece mostrar la última aparición del término de búsqueda. ¿Hay alguna forma de navegar por todos los resultados?

hsmit
fuente

Respuestas:

34

Después de escribir los pocos caracteres para buscar, puede presionar CTRL + R nuevamente para explorar el historial que coincide con lo que escribió.

Sin embargo, se limitará al tamaño de la historia.

Matthieu
fuente
¡INCREÍBLE! eso es exactamente lo que estaba buscando!
alfasin
1
Para controlar el tamaño del historial, se puede observar que HISTFILESIZEcontrola el tamaño del archivo de historial ( ~/.bash_history), pero HISTSIZEcontrola el tamaño del historial de terminal específico, y es este último el que decide qué tan atrás Ctrl+Rpuede verse. Noté esto en una máquina donde había ampliado la primera variable, pero no la última. Ambos están configurados originalmente en 500, pero si uno quiere guardar más el historial de búsqueda inversa, ambas variables deben actualizarse.
Daniel Andersson
8

Solo necesita presionar CTRL-Rnuevamente.


fuente
2

Si solo desea ver todas las líneas del historial coincidentes a la vez, intente 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 

( -100significa "los últimos 100 comandos"; el valor predeterminado es 20, o puede especificar un rango).

geekosaur
fuente
1

Para avanzar en la búsqueda tienes que CTRL+Rvolver a hacerlo .

Pero si quieres una lista del comando puedes usar

history | grep 'command to search'
eveevans
fuente