Domanda Come vedere i timestamp nella cronologia di bash?


C'è un modo per vedere a che ora i comandi sono stati eseguiti dalla cronologia di bash? Possiamo vedere l'ordine ma esiste un modo per ottenere anche il tempo?

Bottom-Line: tempo di esecuzione nella cronologia di Bash


179
2017-12-15 11:58


origine


Sono stupito di quanto poco documentato sia su Linux e BSD nelle manpage. - Sridhar-Sarnobat
Controlla questo blog - sanctum.geek.nz/arabesque/better-bash-history . - dog0


risposte:


stampa Ctrl+alt+T per aprire Terminal, quindi eseguire il comando seguente:

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

Oppure, per rendere la modifica permanente per l'utente corrente:

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

Poi

history

Per maggiori informazioni vedi uomo bash o Un indice A-Z della riga di comando di Bash per Linux.

Per i comandi che sono stati eseguiti prima  HISTTIMEFORMAT è stato impostato, il attuale il tempo verrà salvato come timestamp. I comandi corrono dopo HISTTIMEFORMAT è stato impostato avrà il timestamp corretto salvato.


229
2017-12-15 12:03



Perché dichiararlo con export in .bash_profile? È una variabile leggibile solo da bashnon dai comandi lanciati da esso, quindi non dovrebbe essere esportato. - Alvaro Gutierrez Perez
Nota che questo lo farà registra solo timestamp per nuovo articoli storici, dopo HISTTIMEFORMAT è impostato per le sessioni, cioè non è possibile utilizzarlo in modo retrospettivo. Alcune risposte qui danno l'impressione che il comando cronologia mostri immediatamente voci con data e ora - Louis Maddox
@Louis - In realtà questo ha funzionato per me retroattivamente per me?!?! - stephenmm
@ Jamil: per le persone che seguono gli standard ISO, è "% y-% m-% d" per la parte della data;) - Gauthier
@Gauthier - in realtà, usa solo% F per la data ISO ;-) man7.org/linux/man-pages/man3/strftime.3.html - brianmearns


Terminale apertoCtrl+alt+T e corri,

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

poi,

history

Per rendere le modifiche permanenti, segui i passaggi seguenti,

gedit ~/.bashrc

è necessario aggiungere la riga sottostante al file .bashrc e quindi salvarlo,

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

esegui il comando qui sotto per generare il file .bashrc,

source ~/.bashrc

Dopo quella corsa 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



Grazie per aver risposto, \ sarà un cambiamento permanente? - Ten-Coin
Ehi, lo sto facendo su OS X e Windows (tramite MINGW), e lo sto aggiungendo in .bash_profile, qual è la differenza tra profilo e rc? - LasagnaAndroid


Sì, è possibile: se si imposta $HISTTIMEFORMAT, il .bash-history sarà correttamente timestamp. Ciò non aiuta con l'esistente .bash-history contenuto, ma aiuterà in futuro.


15
2017-12-15 12:02



puoi espanderlo per maggiore chiarezza? - Ten-Coin
Correzione al post precedente: l'impostazione di HISTTIMEFORMAT abilita la visualizzazione dei timestamp ... anche esistenti. Il mio preferito è: HISTTIMEFORMAT = '% F% T' in quanto non importa da quale paese risiedi ... tutti sanno subito che ore sono. :)
Ho impostato $ HISTTIMEFORMAT e ho ottenuto i tempi per oggi anche prima dei comandi di questo set. - Yasin Okumuş


Per abilitare i timestamp della cronologia per tutti gli utenti, creare uno script in /etc/profile.d:

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

0
2018-01-09 21:18



Questo probabilmente non funzionerà per gli utenti che accedono tramite la GUI, poiché il terminale predefinito non eseguirà shell di login. /etc/bash.bashrcsarebbe un posto migliore - muru