ctrl + r na linha de comando do terminal linux / ubuntu

17

Com CTRL+ Rvocê pode pesquisar nos comandos anteriores (no terminal do Ubuntu). No entanto, sempre parece exibir a última ocorrência do termo de pesquisa. Existe alguma maneira de navegar por todos os resultados?

hsmit
fonte

Respostas:

34

Depois de digitar os poucos caracteres a serem pesquisados, você pode pressionar CTRL + R novamente para navegar pelo histórico que corresponde ao que você digitou.

Porém, será limitado ao tamanho da história.

Matthieu
fonte
IMPRESSIONANTE! era exatamente isso que eu procurava!
Alfasin 22/10/12
11
Para controlar o tamanho do histórico, pode-se notar que HISTFILESIZEcontrola o tamanho do arquivo de histórico ( ~/.bash_history), mas HISTSIZEcontrola o tamanho do histórico específico do terminal, e é este último que decide a que distância Ctrl+Rpode parecer. Eu notei isso em uma máquina onde eu havia ampliado a variável anterior, mas não a última. Ambos são originalmente definidos como 500, mas se alguém quiser salvar mais histórico pesquisável reverso, ambas as variáveis ​​precisam ser atualizadas.
Daniel Andersson
8

Você só precisa pressionar CTRL-Rnovamente.


fonte
2

Se você quiser ver todas as linhas do histórico correspondentes de uma só vez, tente 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 "os últimos 100 comandos"; o padrão é 20 ou você pode especificar um intervalo.)

geekosaur
fonte
1

Para dar um passo na pesquisa, você precisa CTRL+Rnovamente.

Mas se você quiser uma lista do comando, poderá usar

history | grep 'command to search'
eveevans
fonte