Usando e personalizando o histórico de comando do Bash

Usando e personalizando o histórico de comando do Bash
O Bash Shell é o ambiente de linha de comando padrão disponível na maioria das distribuições Linux. Semelhante a todos os ambientes de shell, mantém um registro de comandos que foram executados anteriormente pelo usuário. Este registro é mantido e mantido até mesmo reiniciamos nosso sistema.

Você pode conhecer o uso básico do comando da história, mas pode fazer muito mais do que isso. O histórico de bash geralmente é armazenado no arquivo ~/.Bash_history. Ele permite que você se lembre e reutilize o recorde armazenado de uma maneira eficiente de tirar o melhor proveito do recurso. Não apenas isso, mas você também pode personalizar e controlar a saída do comando bash da maneira que deseja.

Neste artigo, explicaremos como usar e personalizar efetivamente o histórico de comandos Bash para tirar o máximo proveito de seus recursos.

Usamos o Debian 10 para executar os comandos e procedimentos mencionados neste artigo.

Usando o histórico de comando Bash

Visualizando a história da festa

Para visualizar toda a história dos comandos do shell, você pode executar o seguinte comando no terminal:

$ HISTÓRIA

Ele listará todo o histórico para um usuário específico do arquivo de histórico armazenado especificamente para esse usuário. Você verá todos os comandos começando com um número alocado para cada um deles. Ele listará os comandos mais antigos no topo, começando com o número 1 e os comandos mais recentes na parte inferior.

Pesquisando a saída do histórico

Você também pode procurar uma palavra -chave específica da saída do histórico. Com o comando histórico com Grep e uma palavra -chave específica para procurar comandos que correspondam à sua palavra -chave especificada da seguinte forma:

$ HISTÓRIA | Grep [palavra -chave]

Por exemplo, para listar todos os comandos que incluem a palavra -chave "Find", o comando seria:

$ HISTÓRIA | Grep acham

Visualizando os últimos n comandos

O comando histórico por padrão lista o último número 1000 de comandos executados por um usuário. No caso, você deseja listar apenas um número específico, digamos n número do comando último executado, execute o seguinte comando no terminal:

$ HISTÓRIA n

Por exemplo, para listar os últimos 7 comandos executados, o comando seria:

$ HISTÓRIA 7

Para visualizar o número dos últimos comandos N Run que inclui uma palavra -chave específica, você pode usar a seguinte sintaxe:

$ HISTÓRIA | Palavra -chave Grep | Tail -N

Um exemplo disso seria ver os últimos 4 comandos executados com a palavra -chave "java".

$ HISTÓRIA | grep java | cauda -n

Visualizando comandos mais antigos

Para visualizar o número de comandos mais antigos N, você pode usar a seguinte sintaxe no terminal:

$ HISTÓRIA | Cabeça -n

Para visualizar os n mais antigos N ​​número de comandos que incluem uma palavra -chave específica, use a seguinte sintaxe:

$ HISTÓRIA | Palavra -chave Grep | Cabeça -n

Um exemplo disso seria ver os 4 comandos mais antigos executados com a palavra -chave "java".

$ HISTÓRIA | Java Grep | Cabeça -4

Clear Bash History completamente

Para remover o histórico inteiro do Bash, execute o seguinte comando no terminal:

$ HISTÓRIA -CW

Personalizando o histórico de comando BASH

Para personalizar o histórico de comando do Bash, teremos que fazer alterações no ~/.Arquivo Bashrc. Para editar o ~/.Arquivo Bashrc, use o seguinte comando:

$ nano ~//.Bashrc

Depois de terminar com a modificação do arquivo, use Ctrl+O e Ctrl+X para salvar e fechar o editor Nano.

Em seguida, execute o seguinte comando para aplicar as modificações:

$ fonte ~//.Bashrc

Adicione data e registro de data e hora à história do Bash

Se você deseja exibir a data e o timestamp junto com o histórico de comando, você pode fazer isso adicionando a seguinte linha em ~//.Bashrc:

$ export histimeformat = ' %f, %t'

Agora execute o história Comando e mostrará o histórico de comando com dados correspondentes e registro de data e hora.

Aumentando o tamanho da história da batida

Bash por padrão mantém 500 comandos na lista de histórico. No entanto, podemos alterar esse valor usando o valor de HistSize.

Para visualizar o tamanho atual da história do Bash, execute o seguinte comando no terminal:

$ echo $ histsize

Da mesma forma, o tamanho padrão do arquivo de histórico do Bash é 500. É o número máximo de entradas que estão contidas no arquivo de história.

Para aumentar o tamanho do histórico do Bash, digamos 10000, adicione as seguintes linhas em ~//.Arquivo Bashrc:

$ Histsize = 10000
$ Histfilesize = 10000

Para verificar se o tamanho do histórico da Bash mudou com sucesso, execute os seguintes comandos no terminal:

$ echo $ histsize
$ echo $ histfilesize

Anexar comandos Bash ao arquivo de histórico

Quando uma sessão de bash é fechada, você pode optar por substituir ou anexar os comandos no arquivo de história usando a variável HISTAPPEND. Para visualizar as configurações atuais, execute o seguinte comando no terminal:

$ shopt Histappend

O "On" na saída mostra que a opção HISTAPPEND está ativada e os comandos serão anexados no arquivo de história em vez de substituir. Enquanto mostra "Off", a opção HISTAPPEND está desativada e o arquivo será substituído.

Abra o ~//.arquivo Bashrc e:

Adicione a linha a seguir, se você deseja anexar os comandos ao arquivo de histórico em vez de substituir:

$ shopt -s HISTAPPEND

Ou adicione a seguinte linha, se você deseja desativar a opção Apênder e deseja substituir o arquivo na saída:

$ shopt -u Histappend

Armazene a história da Bash imediatamente

Bash por padrão apenas salva a sessão no arquivo de histórico Bash assim que a sessão terminar. Para alterar esse comportamento padrão e chegar a salvar instantaneamente cada comando que você executou, você pode usar o Prompt_Command.

Edite o ~//.Arquivo BashRC e adicione a seguinte linha:

$ Prompt_command = 'History -a'

Agora, sempre que você executar qualquer comando, ele será imediatamente adicionado ao arquivo de histórico.

Controle História da Bash

Podemos controlar a maneira como o Bash salva nosso histórico de comando através da variável HistControl. Podemos especificá -lo para ignorar entradas duplicadas e/ou ignorar entradas com espaços brancos principais.

  • IgnoraSpace - elimina os comandos que começam com uma lista de histórico de espaço.
  • Ignoredups - eliminar comandos duplicados.
  • ignoreboth - atabilable tanto ignoroupups quanto espaço ignorante
  • Eragedups- elimine duplicatas de toda a lista

Para aplicar essas funções, abra o ~/.Bashrc e adicione a seguinte linha com valores separados pelo cólon da seguinte forma:

$ export histcontrol = ignorSpace: ignoredups

Ignorar comandos específicos

Também podemos controlar quais comandos ignorarem na história usando um histrignorão variável. É uma lista separada por cólon de padrões nos quais podemos especificar todos os comandos que queremos ignorar da história.

Por exemplo, se não quisermos listar os comandos básicos, como história, LS, comandos PWD na lista de histórico, adicionamos a seguinte linha na ~//.Arquivo Bashrc:

$ export Histignore = "History: LS: PWD:"

Com o histórico de comandos do Linux Bash, você pode fazer muito mais do que apenas repetir os comandos antigos. Neste artigo, aprendemos a usar a história do Bash para ver os comandos que executaram anteriormente e também aprendemos a controlar a maneira como o Bash salvando o histórico de comando.