Como faço para pesquisar o histórico de comandos do shell com um editor de texto?

8

Eu sei que Ctrl + R permite pesquisar o histórico de comandos, mas é um pouco primitivo. Existe uma maneira de exportar todo o meu histórico de comando (não apenas a sessão de terminal atual, mas o histórico completo) para um arquivo de texto? Eu poderia então usar um editor de texto para pesquisá-lo confortavelmente. Ou se o arquivo de histórico já existe, onde está?

    
por becko 09.04.2015 / 15:56

3 respostas

13

Em man bash :

HISTFILE
    The name of the file in which command history is saved.
    The default value  is  ~/.bash_history.
    If unset, the command history is not saved when a shell exits.

Portanto, a variável HISTFILE conterá o nome do arquivo no qual o histórico será salvo.

$ echo "$HISTFILE"
/home/user/.bash_history

Agora você pode pesquisar o padrão:

$ grep "vim" "$HISTFILE"
vim foo.text
vim bar.text
vim file.txt

Como @Dennis apontou, se você quiser, pode executar history -a para anexar o histórico de comandos da sessão em execução ao arquivo $HISTFILE . Basicamente, os comandos serão adicionados automaticamente quando você fechar uma sessão, history -a fará a mesma coisa naquele instante.

Execute help history para ter mais ideia sobre o history incorporado.

    
por heemayl 09.04.2015 / 16:04
4

Tente isto:

history > output.txt
less output.txt

Em seguida, pesquise digitando / + searchterm

    
por The Nightman 09.04.2015 / 16:05
3

O histórico do bash é salvo em seu diretório pessoal ~/.bash_history .

Basicamente, Ctrl + R procura por este arquivo.

    
por shaddy 09.04.2015 / 16:00