<Anterior | Conteúdo | Próxima>
Histórico de pesquisa
A qualquer momento, podemos visualizar o conteúdo da lista de histórico:
[me @ linuxbox ~] $ história | menos
[me @ linuxbox ~] $ história | menos
Por padrão, o bash armazena os últimos 500 comandos inseridos, embora a maioria das distribuições modernas defina esse valor como 1000. Veremos como ajustar esse valor em um capítulo posterior. Digamos que queremos encontrar os comandos que usamos para listar / usr / bin. Uma maneira de fazer isso:
[me @ linuxbox ~] $ história | grep / usr / bin
[me @ linuxbox ~] $ história | grep / usr / bin
E digamos que entre nossos resultados tenhamos uma linha contendo um comando interessante como este:
88 ls -l / usr / bin> ls-output.txt
O número “88” é o número da linha do comando na lista de histórico. Poderíamos usar isso imediatamente usando outro tipo de expansão chamado expansão da história. Para usar nossa linha descoberta, poderíamos fazer isso:
[me @ linuxbox ~] $ ! 88
[me @ linuxbox ~] $ ! 88
bash irá expandir “! 88” no conteúdo da oitenta e oitava linha na lista de histórico. Existem outras formas de expansão da história que abordaremos um pouco mais tarde.
O bash também oferece a capacidade de pesquisar a lista de histórico de forma incremental. Isso significa que podemos dizer ao bash para pesquisar a lista de histórico conforme inserimos os caracteres, com cada caractere adicional refinando ainda mais nossa pesquisa. Para iniciar a pesquisa incremental, pressione Ctrl-r seguido do texto que você está procurando. Ao encontrá-lo, você pode pressionar Enter para executar o comando ou Ctrl-j para copiar a linha da lista de histórico para a linha de comando atual. Para localizar a próxima ocorrência do texto (movendo “para cima” a lista de histórico), pressione Ctrl-r novamente. Para sair da pesquisa, pressione Ctrl-g ou Ctrl-c. Aqui o vemos em ação:
[me @ linuxbox ~] $
[me @ linuxbox ~] $
Primeira imprensa Ctrl-r:
(pesquisa reversa) `':
(pesquisa reversa) `':
O prompt muda para indicar que estamos realizando uma pesquisa incremental reversa. É “reverso” porque estamos procurando de “agora” a algum tempo no passado. Em seguida, começamos a digitar nosso texto de pesquisa. Neste exemplo “/ usr / bin”:
(pesquisa-i-reversa) `/ usr / bin': ls -l / usr / bin> ls-output.txt
(pesquisa-i-reversa) `/ usr / bin': ls -l / usr / bin> ls-output.txt
Imediatamente, a pesquisa retorna nosso resultado. Com o nosso resultado, podemos executar o comando pressionando Entrar, ou podemos copiar o comando para nossa linha de comando atual para edição posterior pressionando Ctrl-j. Vamos copiar. pressione Ctrl-j:
[me @ linuxbox ~] $ ls -l / usr / bin> ls-output.txt
[me @ linuxbox ~] $ ls -l / usr / bin> ls-output.txt
Nosso prompt de shell retorna e nossa linha de comando é carregada e pronta para a ação! A tabela abaixo lista algumas das teclas usadas para manipular a lista de histórico:
Tabela 8-5: Comandos de histórico
Ação-chave
Ação-chave
Ctrl-p Move para a entrada anterior do histórico. Mesma ação da seta para cima. Ctrl-n Move para a próxima entrada do histórico. Mesma ação da seta para baixo. Alt- <Mover para o início (topo) da lista de histórico.
Alt-> Mover para o final (parte inferior) da lista de histórico, ou seja, a linha de comando atual.
Ctrl-r Pesquisa incremental reversa. Pesquisa incrementalmente a partir da linha de comando atual até a lista de histórico.
Alt-p Pesquisa reversa, não incremental. Com esta tecla, digite a string de pesquisa e pressione enter antes que a pesquisa seja realizada.
Pesquisa direta Alt-n, não incremental.
Ctrl-o Executa o item atual na lista de histórico e avança para o próximo. Isso é útil se você estiver tentando reexecutar uma sequência de comandos na lista de histórico.