Pesquisa no bash history para o comando já digitado

4

Quando eu digito ctrl + r e , em seguida, começo a digitar, posso ver quais comandos no histórico correspondem, o que é ótimo.

Agora existe uma maneira de pesquisar o histórico nos comandos que eu tenho digitados no terminal?

Por exemplo, se eu digitar ctrl + r e, em seguida, digitar ping, posso percorrer os servidores em que fiz ping. Mas se eu digitar "ping" primeiro e depois apertar ctrl + r, ele ignorará o "ping" que já digitei.

Algumas vezes eu fico na metade do caminho digitando uma série de comandos e depois penso "ah, eu já digitei isso, seria legal pesquisar o histórico sobre o que eu já digitei em vez de começar de novo".

Isso faz sentido com o que estou perguntando?

    
por user1028270 05.03.2016 / 02:20

2 respostas

4

Se você começar a digitar um comando e, depois de digitar um pouco, lembre-se de fazer uma pesquisa de histórico, basta:

  • CTRL + A
  • CTRL + R
  • CTRL + Y
  • CTRL + R ... (continue pesquisando ou)
  • CTRL + S ... (procura na outra direção *)

Nota: CTRL + S suspenderá seu terminal, a menos que você explicitamente tenha revogado este comportamento com

[[ $- == *i* ]] && stty -ixon

no seu .bashrc

    
por 29.07.2017 / 02:11
6

A resposta está em uma das perguntas "Relacionadas" listadas automaticamente por stackexchange na coluna da direita. Para experimentar o tipo

bind '"\e[A": history-search-backward'

digite seu comando parcial e use a tecla de seta para cima (que deve gerar escape [ A ) para procurar essa entrada parcial em seu histórico. Veja a resposta completa para saber mais.

    
por 05.03.2016 / 20:57