Gerenciando Histórico de Comandos no Linux

O histórico de comandos no linux é mantido pelo programa history, e com ele temos várias opções.


Configurações

As execuções apresentadas, podem ser configuradas de forma volátil ou perene.

No modo volátil, basta executa-los no shell, como estão apresentados.

No modo perene, há 2 tipos de configuração, a sistêmica - válida para todo o sistema; e por perfil - válida para um usuário específico.


Configuração sistêmica

Adicione as alterações no final do arquivo /etc/profile ou do arquivo /etc/bashrc, usando seu editor de texto preferido, vi, vim, emacs, gedit e outros.

Estas mudanças realizadas no /etc/profile, valerão para todos os usuários do sistema operacional, a partir do próximo reboot.
Ex:
vim /etc/profile
27 ...
28 export HISTSIZE=100000
29 export HISTFILESIZE=200000
30 export HISTCONTROL=ignoredups:ignorespace

Estas mudanças realizadas no /etc/bashrc ou /etc/bash.bashrc, valerão para todos os usuários do sistema operacional, a partir do próximo logon.
Ex:
vim /etc/bashrc
66 ...
67 # vim:ts=4:sw=4
68 export HISTSIZE=100000
69 export HISTFILESIZE=200000
70 export HISTCONTROL=ignoredups:ignorespace

Configuração por perfil

Adicione as alterações no final de um dos arquivos ~/.bashrc, ou ~/.profile, ou ~/.bash_profile, localizados no path, /home/<user>/<filename>, no perfil do usuário desejado, usando seu editor de texto preferido, vi, vim, emacs, gedit e outros.

vim ~/.bashrc
66 ...
67
68 export HISTSIZE=100000
69 export HISTFILESIZE=200000
70 export HISTCONTROL=ignoredups:ignorespace
ou
vim ~/.profile
66 ...
67
68 export HISTSIZE=100000
69 export HISTFILESIZE=200000
70 export HISTCONTROL=ignoredups:ignorespace
ou
vim ~/.bash_profile
66 ...
67
68 export HISTSIZE=100000
69 export HISTFILESIZE=200000
70 export HISTCONTROL=ignoredups:ignorespace


Exemplos


Quantidades de linhas a serem armazenadas no histórico de comandos:
HISTSIZE=100000

Tamanho máximo em bites(B), que o arquivo será permitido atingir:
HISTFILESIZE=200000

Não armazena no histórico, linhas de comandos duplicados:
HISTCONTROL=ignoredups:ignorespace

Desabilitar o armazenamento de histórico:
export HISTSIZE=0

Desabilitar o armazenamento de histórico para sessão corrente:
  1. Desvia o histórico para o /dev/null;
    HISTFILE=/dev/null
  2. Armazena zero comandos no histórico;
    HISTSIZE=0
  3. Desabilita a variável de controle do histórico;
    unset HISTFILE
  4. Limpa o conteúdo do histórico na sessão corrente;
    history -c

Comentários