Questão Como ver os carimbos de hora no histórico bash?


Existe alguma maneira que eu possa ver a que horas os comandos foram executados a partir do histórico bash? Nós podemos ver a ordem, mas há alguma maneira de eu conseguir o tempo também?

Bottom-Line: Tempo de execução no histórico do Bash


180
2017-12-15 11:58


origem


Estou surpreso com o quão mal documentado isso é tanto no Linux quanto no BSD nas manpages. - Sridhar-Sarnobat
Confira este blog - sanctum.geek.nz/arabesque/better-bash-history . - dog0


Respostas:


pressione Ctrl+Alt+T para abrir o Terminal e, em seguida, execute o comando abaixo:

HISTTIMEFORMAT="%d/%m/%y %T "

Ou, para tornar a alteração permanente para o usuário atual:

echo 'export HISTTIMEFORMAT="%d/%m/%y %T "' >> ~/.bashrc
source ~/.bashrc

Então

history

Para mais informações veja homem bash ou Um índice A-Z da linha de comando do Bash para Linux.

Para comandos que foram executados antes  HISTTIMEFORMAT foi definido, o atual o tempo será salvo como o registro de data e hora. Comandos executados após HISTTIMEFORMAT foi definido terá o timestamp correto salvo.


231
2017-12-15 12:03



Por que declarar isso com export dentro .bash_profile? É uma variável apenas lida por bash, não por comandos lançados a partir dele, por isso não deve ser exportado. - Alvaro Gutierrez Perez
Note que isso vai registra apenas timestamps para Novo itens do histórico, depois de HISTTIMEFORMAT está definido para sessões, ou seja, você não pode usar isso retrospectivamente. Algumas respostas aqui dão a impressão de que o comando history exibe imediatamente entradas com registro de data e hora - Louis Maddox
@Louis - Na verdade, isso funcionou para mim retroativamente para mim?!?! - stephenmm
@Jamil: para pessoas que seguem os padrões ISO, é "% y-% m-% d" para a parte da data;) - Gauthier
@Gauthier - na verdade, use apenas% F para a data ISO ;-) man7.org/linux/man-pages/man3/strftime.3.html - brianmearns


Terminal abertoCtrl+Alt+T e corra,

HISTTIMEFORMAT="%d/%m/%y %T "

então,

history

Para tornar as alterações permanentes, siga os passos abaixo,

gedit ~/.bashrc

você precisa adicionar a linha abaixo ao arquivo .bashrc e salvá-lo,

export HISTTIMEFORMAT="%d/%m/%y %T "

execute o comando abaixo para gerar o arquivo .bashrc,

source ~/.bashrc

Depois disso, corra history comando.

enter image description here

fonte:http://www.cyberciti.biz/faq/unix-linux-bash-history-display-date-time/


59
2017-12-15 12:02



Obrigado por responder, será permanente mudança? - Ten-Coin
Ei, estou fazendo isso no OS X e no Windows (através do MINGW), e estou adicionando no .bash_profile, qual a diferença entre profile e rc? - LasagnaAndroid


Sim, você pode: se você definir $HISTTIMEFORMAT, a .bash-history será devidamente timestamped. Isso não ajuda em nada .bash-history conteúdo, mas ajudará no futuro.


15
2017-12-15 12:02



você pode expandi-lo para mais clareza? - Ten-Coin
Correção para postagem anterior: A configuração de HISTTIMEFORMAT ativa a exibição dos registros de data e hora ... mesmo existentes. Meu favorito é: HISTTIMEFORMAT = '% F% T', pois não importa de qual país você reside ... todo mundo sabe imediatamente que horas são. :)
Eu configurei $ HISTTIMEFORMAT e consegui as horas de hoje mesmo antes dos comandos deste conjunto. - Yasin Okumuş


Para ativar registros de data e hora do histórico para todos os usuários, crie um script em /etc/profile.d:

echo 'HISTTIMEFORMAT="%Y%m%d %T "' >> /etc/profile.d/timestamp.sh

0
2018-01-09 21:18



Isso provavelmente não funcionará para usuários que efetuam login via GUI, já que o terminal padrão não executará os shells de login. /etc/bash.bashrcseria um lugar melhor. - muru