Categories
Debian Linux Tutoriais Ubuntu UNIX

Como pesquisar eficientemente no histórico de comandos da Bash shell

Como pesquisar no histórico do Bash shell os comandos que você já executou, para alterar ou repetir ipsus literis um comando que você já tenha usado.

Na linha de comandos, frequentemente queremos repetir algum procedimento, na íntegra ou com algumas modificações.
Para isso, há o histórico do Bash.
Você pode acessar o histórico da shell no arquivo .bash_history, que fica no seu diretório “home”. Veja como:

less ~/.bash_history

Você pode obter a mesma listagem, acrescida do número da linha de comando, com o próprio comando history:

history | less

Os números das linhas são úteis, por que podem ser evocados a qualquer momento no terminal. Ou seja, você não precisa redigitar o comando inteiro — basta fornecer o número dele no histórico.
Você pode combinar o history com o comando grep, para obter um histórico sobre um determinado item, que você tenha usado recentemente.
O exemplo abaixo lista o histórico de uso do comando apt:

history | grep apt

Veja como ficou a minha saída:

 1637  sudo apt install toilet
 1666  sudo apt update
 1667  apt list --upgradable 
 1668  apt show firmware-amd-graphics 
 1670  sudo apt autoremove 
 1671  sudo apt update
 1672  sudo apt full-upgrade 
 1673  sudo apt purge firmware-amd-graphics 
 1998  apt show zenity

Note que cada linha tem um número.
Se você quiser executar uma determinada linha de comando, use o símbolo ‘ ! ‘ (ponto de exclamação) seguido do número da linha correspondente:

!1668
history bash shell
Histórico de comandos dados no terminal

Faça buscas por palavras dentro do histórico de comandos do Bash

Novamente, o comando grep pode ser usado para encontrar um nome de comando ou qualquer outra string dentro do .bash_history:

history | grep snap

Com o atalho de teclado ‘Ctrl+R’, é possível também fazer uma busca por uma string qualquer:

  • pressione simultaneamente as teclas ‘Ctrl’ e ‘R’
  • comece a digitar parte da palavra que deseja buscar
  • continue a pressionar ‘Ctrl+R’ até encontrar a linha de comando desejada

Quando encontrar, use a tecla de direcionamento para a direita ‘ → ‘, se quiser alterar o comando ou apenas tecle Enter, para executá-lo do jeito que ele já está.

By Elias Praciano

Autor de tecnologia (livre, de preferência), apaixonado por programação e astronomia.
Fã de séries, como "Rick and Morty" e "BoJack Horseman".
Me siga no Twitter e vamos trocar ideias!

4 replies on “Como pesquisar eficientemente no histórico de comandos da Bash shell”

Excelente post Elias, afinal eu estava precisando de um “help” deste tipo. Força e honra!

Tem algo semelhante no android? Recuperar uma palavra, frase, e-mail digitados,uma especiede “keylogger” no Android? Pelo amor de Deus

O amor é recíproco! <3
Falar e escrever sobre o Linux é a minha paixão e eu fico super feliz de ver que o meu trabalho está ajudando outras pessoas.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.