Bash: Reverse Search

Bash: Reverse Search

16/12/2015 Marcos Paulo de Souza 1 min de leitura

No Bash, é comum reexecutarmos comandos o tempo inteiro, especialmente quando precisamos compilar um programa ou mover um arquivo. O que se faz geralmente é ir apertando a tecla “para cima” e encontrar o comando desejado. Essa tarefa pode ser um pouco custosa, uma vez que o comando pode ter sido executado há horas e então, ficar voltando enumeros comandos não deve ser muito interessante.

Dessa forma, o Bash tem uma função chamada de Reverse-Search. Ela é basicamente uma procura no seu histórico de comandos, na ordem inversa da executada. Para usar este recurso, basta abrir o Bash e apertar Ctrl-R. A imagem abaixo mostra este recurso sendo utilizado: Screenshot from 2015-12-15 00-26-41

Depois de iniciado o Reverse-Search, basta digitar o que deseja procurar. Na imagem abaixo, eu digitei “rm”, então a busca me trouxe um comando cat, que eu executei em um arquivo do /sys. Ele mostrou este comando por causa do caminho do cat, que continha a string “drm”: Screenshot from 2015-12-15 00-31-39

Se a sua busca não foi exatamente como você queria, basta apagar e reescrevê-la, ou então pressionar Ctrl-R repetidamente para que o Reverse-Search continue buscando por comandos mais antigos com a mesma string que você digitou (a busca é dos comandos mais novos para os mais antigos). O campo de busca do Reverse-Search é como o Bash, você pode digitar e apagar o que escreveu, que ele busca conforme o for digitando.

Quando você encontrar o comando desejado, basta pressionar Enter que o comando é executado, ou então apertar no Tab que o comando cai no bash para que você possa editá-lo e então executá-lo.

Para sair do Reverse-Search basta digitar Ctrl-R.

Espero que tenham gostado desse post sobre o Bash! Até a próxima!