Linux HISTFILE

Os comandos executados no Linux ficam armazenados em um arquivo de histórico, que facilita o reaproveitamento desses comandos, ou nos permite analisar o que foi feito recentemente em um ambiente.

Executando o comando history:

[root@oel7 ~]# history
    1  ifconfig -a
    2  reboot
    3  df -h
    4  exit
    5  cd /
    6  ll
    7  cd BINARIO/
    8  ll
    9  cd install/response/
   10  ll
   11  cat db_install.rsp
   12  cat /etc/shells
   13  echo $SHELL
   14  type echo
   15  echo $VARIAVEL2
   16  exit
   17  echo $VARIAVEL2
   18  exit
   19  cd
   20  ll
   21  ./variavel.sh
   22  exit
   23  history
[root@oel7 ~]#

Cada usuário terá seu próprio histórico, que é lido do arquivo HISTFILE, que pode ser encontrado como abaixo (neste exemplo, é possível também ver o tamanho máximo deste histórico):

[root@oel7 ~]# set | grep HISTFILE
HISTFILE=/root/.bash_history
HISTFILESIZE=1000

Ao disparar o comando “!!”, será executado o último comando do history:

[root@oel7 ~]# !!
set | grep HISTFILE
HISTFILE=/root/.bash_history
HISTFILESIZE=1000

Podemos também executar um comando específico, através do seu número associado, conforme abaixo:

[root@oel7 ~]# history
    1  ifconfig -a
    2  reboot
    3  df -h
    4  exit
    5  cd /
    6  ll
    7  cd BINARIO/
    8  ll
    9  cd install/response/
   10  ll
   11  cat db_install.rsp
   12  cat /etc/shells
   13  echo $SHELL
   14  type echo
   15  echo $VARIAVEL2
   16  exit
   17  echo $VARIAVEL2
   18  exit
   19  cd
   20  ll
   21  ./variavel.sh
   22  exit
   23  history
   24  set | grep HISTFILE
   25  history
   26  set | grep HISTFILE
   27  history
   28  date
[root@oel7 ~]# !28
date
Thu Feb 25 05:27:43 -03 2021

Podemos usar o “!” seguido de uma string, que executará o último comando identificado no histórico que contenha a string informada:

[root@oel7 ~]# ls /tmp/
ssh-X1jOYJWdabZs
systemd-private-cb5ebc685110472aba9ff1ca691f8363-bolt.service-r89566
systemd-private-cb5ebc685110472aba9ff1ca691f8363-colord.service-DUc5fq
systemd-private-cb5ebc685110472aba9ff1ca691f8363-cups.service-C1I5d9
systemd-private-cb5ebc685110472aba9ff1ca691f8363-fwupd.service-575LFE
systemd-private-cb5ebc685110472aba9ff1ca691f8363-rtkit-daemon.service-OZRWWP
tracker-extract-files.0
[root@oel7 ~]# !ls
ls /tmp/
ssh-X1jOYJWdabZs
systemd-private-cb5ebc685110472aba9ff1ca691f8363-bolt.service-r89566
systemd-private-cb5ebc685110472aba9ff1ca691f8363-colord.service-DUc5fq
systemd-private-cb5ebc685110472aba9ff1ca691f8363-cups.service-C1I5d9
systemd-private-cb5ebc685110472aba9ff1ca691f8363-fwupd.service-575LFE
systemd-private-cb5ebc685110472aba9ff1ca691f8363-rtkit-daemon.service-OZRWWP
tracker-extract-files.0
[root@oel7 ~]#

Para limpar o histórico, basta emitir o comando abaixo:

[root@oel7 ~]# history -c
[root@oel7 ~]# history
    1  history

Leave a Comment

Your email address will not be published.