O comando history no Linux (histórico do Bash) ⋆ ALexHost SRL

Teste suas habilidades em todos os nossos serviços de hospedagem e ganhe 15% de desconto!

Utilizar o código no ato da compra:

Skills
16.12.2024
No categories

O comando history no Linux (histórico do Bash)

O comando history no Linux é uma ferramenta poderosa para usuários que trabalham com o shell Bash. Ele mantém o controle dos comandos executados anteriormente, permitindo que os usuários visualizem, recuperem e até reexecutem comandos sem precisar digitá-los novamente. Isso pode aumentar significativamente a produtividade, economizando tempo e reduzindo a chance de cometer erros ao redigitar comandos longos.

O que é o Bash History?

O Bash, como muitos outros shells, mantém um registro dos comandos digitados em um arquivo de histórico. Na maioria das distribuições Linux, esse histórico é armazenado em um arquivo chamado .bash_history no diretório inicial de cada usuário (~/.bash_history). Por padrão, cada comando inserido no shell é anexado a esse arquivo quando a sessão termina, permitindo que os usuários revisitem comandos de sessões anteriores.

Uso básico do comando history

O comando history é simples de usar e oferece várias maneiras de visualizar e interagir com seu histórico de comandos. Aqui estão alguns dos usos mais comuns:

  • Exibir histórico de comandos:
    A execução do comando history sem nenhum argumento exibirá uma lista dos comandos mais recentes que você digitou, juntamente com um número ao lado de cada comando.

    histórico

    Isso exibe os últimos n comandos, em que n é geralmente em torno de 500 ou 1.000, dependendo da configuração do seu sistema.

  • Especificar o número de comandos:
    Você pode limitar o número de comandos exibidos especificando um número. Por exemplo, para ver os últimos 10 comandos:

    histórico 10

Recuperação de comandos do histórico

O comando history também permite que você recupere e reutilize facilmente comandos executados anteriormente:

  • Usando a notação ! (ponto de exclamação):
    Isso permite que você execute novamente comandos diretamente do histórico:

    • !! – Executa novamente o último comando que você executou.
      !!
    • !n – Executa o comando na posição n da lista de histórico.
      !42

      Isso executaria novamente o comando listado no número 42 do histórico.

    • !string – Localiza o comando mais recente que começa com string e o executa.
      !git

      Isso executaria o comando mais recente que começa com git.

  • Uso das teclas de seta:
    Você pode usar as teclas de seta para cima e para baixo para percorrer os comandos anteriores diretamente no terminal. Isso é especialmente útil para encontrar rapidamente comandos recentes.

Edição e modificação do histórico

  • Remover entradas específicas:
    Você pode excluir um comando específico do histórico usando history -d seguido do número da linha:

    history -d 42

    Isso excluiria o comando na linha 42 da lista de histórico.

  • Limpar todo o histórico:
    Para remover todos os comandos do arquivo de histórico, use:

    history -c

    Isso limpa o histórico da sessão atual. Para limpar também o histórico salvo em ~/.bash_history, substitua o arquivo:

    history -c && > ~/.bash_history

Configuração do histórico do Bash

O comportamento do histórico pode ser personalizado por meio de variáveis de ambiente e definições de configuração nos arquivos ~/.bashrc ou ~/.bash_profile:

  • HISTSIZE:
    Essa variável controla quantos comandos são mantidos na memória durante uma sessão. Por exemplo, para manter 1000 comandos:

    export HISTSIZE=1000
  • HISTFILESIZE:
    Essa variável define o número de linhas (comandos) que são salvas no arquivo ~/.bash_history. Por exemplo:

    export HISTFILESIZE=2000

    Isso significa que 2000 comandos serão mantidos no arquivo de histórico mesmo após o logout.

  • HISTCONTROL:
    Essa variável determina como os comandos são armazenados. As opções comuns incluem:

    • ignoredups – Impede que comandos duplicados sejam adicionados ao histórico.
    • ignorespace – Os comandos que começam com um espaço não são adicionados ao histórico.
    • ignoreboth – Combina ignoredups e ignorespace.

    Exemplo de configuração do HISTCONTROL para ignorar duplicatas:

    export HISTCONTROL=ignoredups
  • HISTTIMEFORMAT:
    Para incluir um registro de data e hora em cada entrada do histórico, defina HISTTIMEFORMAT:

    export HISTTIMEFORMAT="%F %T "

    Isso prefixará cada registro do histórico com a data (%F) e a hora (%T).

Pesquisa no histórico

  • Pesquisa reversa com Ctrl r:
    Uma das maneiras mais eficientes de pesquisar um comando no histórico é usar a tecla Ctrl r. Comece a digitar parte do comando e o Bash encontrará comandos correspondentes à medida que você digitar. Pressionar Ctrl r novamente percorrerá as correspondências anteriores.
  • Grep com histórico:
    Você também pode usar o grep para pesquisar a saída do histórico:

    history | grep git

    Isso mostrará todos os comandos que contêm a palavra git.

Conclusão

O comando history é uma parte fundamental do trabalho com o shell Bash, oferecendo uma maneira de manter o controle dos comandos anteriores e simplificar os fluxos de trabalho. Com sua capacidade de recuperar, pesquisar e personalizar o histórico de comandos, ele ajuda a tornar as operações de linha de comando mais eficientes e fáceis de usar. Ao dominar o histórico e seus recursos relacionados, os usuários podem acelerar significativamente seu trabalho em ambientes Linux.

Teste suas habilidades em todos os nossos serviços de hospedagem e ganhe 15% de desconto!

Utilizar o código no ato da compra:

Skills