Frage Wie sieht man Zeitstempel in der Bash-Geschichte?


Kann ich irgendwie sehen, zu welchem ​​Zeitpunkt die Befehle aus der Bash-Geschichte ausgeführt wurden? Wir können die Bestellung sehen, aber gibt es irgendeine Möglichkeit, wie ich die Zeit auch bekommen kann?

Bottom-Line: Ausführungszeit in der Bash-History


179
2017-12-15 11:58


Ursprung


Ich bin erstaunt, wie schlecht dokumentiert dies sowohl auf Linux als auch auf BSD in den Manpages ist. - Sridhar-Sarnobat
Sieh dir diesen Blog an - sanctum.geek.nz/arabesque/better-bash-history . - dog0


Antworten:


Drücken Sie Strg+Alt+T Öffnen Sie Terminal, und führen Sie den folgenden Befehl aus:

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

Oder, um die Änderung für den aktuellen Benutzer dauerhaft zu machen:

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

Dann

history

Für weitere Informationen siehe Mann bash oder Ein A-Z-Index der Bash-Befehlszeile für Linux.

Für Befehle, die ausgeführt wurden Vor  HISTTIMEFORMAT wurde eingestellt, die Strom Zeit wird als Zeitstempel gespeichert. Befehle laufen nach HISTTIMEFORMAT Wurde eingestellt, wird der richtige Zeitstempel gespeichert.


229
2017-12-15 12:03



Warum erklären Sie es mit? export im .bash_profile? Es ist eine Variable, die nur von gelesen wird bashnicht durch Befehle, die von ihm ausgehen, also sollte es nicht exportiert werden. - Alvaro Gutierrez Perez
Beachten Sie, dass dies der Fall ist zeichne nur Zeitstempel für Neu Geschichte Artikel, nach HISTTIMEFORMAT ist für Sitzungen festgelegt, d. h. Sie können dies nicht rückwirkend verwenden. Einige Antworten geben hier den Eindruck, dass der Verlaufsbefehl sofort zeitgestempelte Einträge anzeigt - Louis Maddox
@Louis - Wirklich hat das für mich rückwirkend für mich funktioniert?!?! - stephenmm
@Jamil: Für Leute, die den ISO-Standards folgen, ist es "% y-% m-% d" für den Datumsteil;) - Gauthier
@Gauthier - verwende eigentlich% F für das ISO-Datum ;-) man7.org/linux/man-pages/man3/strftime.3.html - brianmearns


Terminal öffnenStrg+Alt+T und Renn,

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

dann,

history

Um die Änderungen dauerhaft zu machen, folgen Sie den folgenden Schritten:

gedit ~/.bashrc

Sie müssen die untere Zeile der .bashrc-Datei hinzufügen und dann speichern,

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

Führen Sie den folgenden Befehl aus, um die .bashrc-Datei zu

source ~/.bashrc

Nach diesem Lauf history Befehl.

enter image description here

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


59
2017-12-15 12:02



Danke für die Beantwortung, wird es dauerhafte Änderung sein? - Ten-Coin
Hey, ich mache das in OS X und Windows (über MINGW), und ich füge es in .bash_profile, was ist der Unterschied zwischen Profil und RC? - LasagnaAndroid


Ja, Sie können: wenn Sie einstellen $HISTTIMEFORMAT, das .bash-history wird korrekt mit Zeitstempel versehen. Das hilft nicht beim Existieren .bash-history Inhalt, aber wird in der Zukunft helfen.


15
2017-12-15 12:02



Kannst du es für mehr Klarheit erweitern? - Ten-Coin
Korrektur zum vorherigen Post: Einstellung HISTTIMEFORMAT ermöglicht die Anzeige der Zeitstempel ... sogar vorhanden. Mein Favorit ist: HISTTIMEFORMAT = '% F% T' da es nicht darauf ankommt, aus welchem ​​Land du kommst ... jeder weiß sofort wie spät es ist. :)
Ich habe $ HISTTIMEFORMAT gesetzt und ich habe die Zeiten für heute noch vor den Befehlen dieses Sets bekommen. - Yasin Okumuş


Um Verlaufszeitstempel für alle Benutzer zu aktivieren, erstellen Sie ein Skript in /etc/profile.d:

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

0
2018-01-09 21:18



Dies wird wahrscheinlich nicht für Benutzer funktionieren, die sich über die GUI anmelden, da das Standard-Terminal keine Login-Shells ausführen wird. /etc/bash.bashrcwäre ein besserer Ort. - muru