Pesquisando o histórico do terminal no Debian GNU/Linux

As vezes você lembra que salvou um arquivo em algum lugar ou editou um script ou fez qualquer outra coisa no terminal, mas não lembra detalhes que te permitam achar o arquivo. Ou então você lembra que criou um serviço de inicialização que chama um script, mas não lembra mais nada, apenas o comando que está dentro do script, que você testou no terminal antes.

Isso aconteceu hoje comigo.

Eu tenho um teclado Logitech G512 e o led das teclas não estavam acendendo na inicialização do sistema. Então criei um script, usando o comando g512-led -a e o salvei dentro de um dos arquivos dentro de /etc/systemd/system/.

Eu não lembrava o nome do serviço, não lembrava o nome do arquivo com o script, não lembrava nada, apenas que antes eu havia testado o comando no terminal para ver se funcionava.

No Debian, e acredito que em outras distribuições, é possível pesquisar no histórico de comandos do terminal com:

history | grep "termo_de_busca"

Pesquisando por history | grep "g512-led" eu recebi a seguinte resposta no terminal:

425  sudo g512-led -a dddddd

Agora, com a linha do histórico eu posso usar o comando grep para direcionar melhor minha busca.

Isso porque o comando grep tem opções para mostrar o contexto antes (-B), depois (-A) e ao redor (-C) de uma correspondência.

Exemplo:

history | grep -C 5 "425"

O que esse comando faz:

  • history lista todo o seu histórico com números de linha.
  • | (pipe) envia a saída do history para o comando grep.
  • grep -C 5 "425" procura pela linha que contém “425” e mostra 5 linhas antes e 5 linhas depois dela.

Você pode ajustar o número 5 para a quantidade de contexto que desejar.

  • Para ver apenas as 5 linhas antes, use -B 5 (Before).
  • Para ver apenas as 5 linhas depois, use -A 5 (After).

Caso você não tenha pista nenhuma, ou querira apenas explorar o histórico de comandos do terminal, usar less é uma ótima opção.

history | less

Como usar:

  • O terminal mostrará o início do seu arquivo de histórico.
  • Pressione a tecla / e digite o número da linha (ex: /1234) e pressione Enter.
  • Isso levará você diretamente para a linha correspondente.
  • Agora você pode usar as setas para cima e para baixo ou as teclas Page Up / Page Down para navegar livremente pelo contexto.
  • Pressione q para sair do less e voltar ao terminal.

Esses comandos já salvaram minha pele, espero que também sejam úteis para você.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Rolar para cima