Bash History Search

Bash History Search
Precisamos digitar vários comandos no shell para vários fins. Às vezes precisamos executar os mesmos comandos várias vezes. É uma tarefa muito demorada ou chata para digitar os mesmos comandos várias vezes. Felizmente, Bash tem uma boa solução para este problema. Ao usar o mecanismo de história do Bash, os comandos executados anteriormente podem recuperar e executar facilmente sem digitar o comando novamente. Linux armazena o histórico da linha de comando de cada usuário no diretório inicial. Por padrão, o comando Bash History exibe a lista de comandos digitados anteriormente com números de linha. Mas você pode recuperar o histórico dos comandos com data e hora também. Como você pode modificar a configuração do comando History e usar o comando History para recuperar a lista de comandos digitados anteriormente de maneiras diferentes é mostrado neste tutorial.

Configurações de história:

Muitas variáveis ​​são usadas para controlar os registros do histórico de comando. Bash Stores Command History de duas maneiras. Pode ser armazenado em um arquivo e na memória. HostFile A variável é usada para definir o local e o nome do arquivo de histórico. Por padrão, informações de histórico armazenadas em .Arquivo Bash_history. Quantos comandos podem ser armazenados em um arquivo é definido usando Histfilesize variável e quantos comandos da sessão atual podem ser armazenados na memória é definida por Histsize variável. Abrir o .Bashrc Arquive em qualquer editor e descubra as configurações padrão desses parâmetros. Aqui, o editor de texto é usado para editar este arquivo.

$ gedit ~/.Bashrc

De acordo com o conteúdo deste arquivo, o valor padrão de Histfilesize é 2000 e Histsize é 1000. Você pode alterar esses valores de acordo com sua escolha.

Ativar/desativar a opção de substituição de histórico:

Para cada nova sessão, o arquivo de histórico é substituído pelos comandos atuais do histórico no final da sessão. Se você deseja manter o comando histórico anterior e adicionar os novos registros de histórico no final do arquivo, execute o seguinte comando.

$ shopt -s HISTAPPEND

Execute o seguinte comando para verificar a configuração atual da opção de substituição do histórico.

$ shopt Histappend

Execute o seguinte comando para substituir o arquivo de história.

$ shopt -u Histappend

Exiba a lista de comandos Bash executados anteriormente:

Para recuperar a lista de comandos atualmente executados da sessão atual, execute o seguinte comando básico.

$ HISTÓRIA

Você pode recuperar o número específico de história mencionando o número do comando da história. O seguinte comando recupera 3 comandos executados por último da história.

$ HISTÓRIA 3

A lista de histórico do comando em particular pode ser recuperado usando o comando comando com histórico. Por exemplo, o seguinte comando recupera a lista de histórico de todos 'lsComando.

$ HISTÓRIA | grep ls

Executando o comando da história:

Você pode executar facilmente qualquer comando da história mencionando o número da linha com '!'Símbolo. O comando a seguir executará o comando da linha número 17 do arquivo de histórico e limpará a tela.

$ !17

Você pode usar o valor negativo da posição para executar comandos da história. No exemplo a seguir, três comandos são executados e o primeiro comando executado é executado a partir da história usando um valor negativo.

$!-3

Você pode usar '!!' símbolo para executar o comando mais recente da história. No exemplo seguinte, 'ls' O comando é executado por último. Então quando '!!' é executado então executado o comando 'ls' novamente.

$ !!

Exiba a lista de histórico por data e hora:

HisttimeFormat A variável é usada para recuperar informações do histórico de comando por data e hora. '%F' é usado para recuperar data '%t' é usado para recuperar o tempo. Execute o seguinte comando para recuperar a lista de histórico por data.

$ export histimeformat = '%f'

Remova os comandos duplicados da história:

A lista de histórico de comandos pode conter a entrada de muitos comandos duplicados se o usuário executar o mesmo comando várias vezes. Se você deseja omitir o comando duplicado da história no momento da recuperação da lista, então você deve usar HistControl variável com valor 'ignoredrups'.

$ export histcontrol = ignoredups

Filtre qualquer comando do histórico:

Você pode usar Histignore variável para filtrar qualquer comando do histórico ao recuperar a lista de comando executada. Se você quiser omitir o 'data' Comando da lista e execute o seguinte comando.

$ export histignore = 'data'

Comando de exportação Unset:

Você pode desativar o comando de exportação para quaisquer tipos de variáveis ​​definidos. Por exemplo, se você quiser despertar Histignore variável que é atribuída a ignorar 'data' comando então execute o seguinte comando.

$ Unset Export Histignore

Desative a história do comando:

Quando você não deseja manter os registros dos comandos executados para qualquer fins de segurança, você precisará desativar o comando de história. Se o valor de HistsizE variável é definido como 0, então nenhum comando executado da sessão atual será armazenado na memória ou no arquivo de história. Abrir .arquivo BashRC e defina o valor de Histsize a 0.

$ gedit .Bashrc

Execute o seguinte comando para criar o efeito da mudança do .Arquivo Bashrc. Execute alguns comandos para verificar o comando do histórico está desativado ou não.

$ fonte .Bashrc

História clara dos comandos:

A história dos comandos pode ser limpa ou excluída usando o comando histórico com -c opção. Você pode usar esta opção quando deseja remover os registros do comando executado sem desativar o comando do histórico.

$ history -c

Lista de histórico de rolagem:

Você pode passar pelos comandos executados anteriormente facilmente usando seta e seta para baixo. Sem usar a tecla de seta, você pode voltar para a lista de histórico pressionando Ctrl+P e pode avançar para a lista de histórico pressionando Ctrl+N. Ative o comando de história, execute alguns comandos e verifique essas opções.

Pesquisando comando da história:

Você pode pesquisar o comando da história pressionando Ctrl+R. Quando essas chaves forem pressionadas, uma opção de pesquisa aparecerá. O comando pesquisará da história com base no KeyPress pelo usuário.

Conclusão

Os usuários do Linux podem economizar seus tempos usando o comando histórico com eficiência. Os comandos do histórico mais comumente usados ​​são tentados explicar neste tutorial para ajudar os usuários a usar este comando corretamente.