2016-07-22 17 views
6

Ich möchte auf meinem Linux-System überprüfen, wann welcher Befehl ausgelöst wurde - an welchem ​​Datum und zu welcher Uhrzeit.Linux Command Geschichte mit Datum und Uhrzeit

ich gefeuert Befehle wie folgt aus:

history 50 

es mir die letzten 50 Befehle Geschichte zeigt, aber nicht mit Datum und Zeitpunkt, zu dem sie abgefeuert wurde. Weiß jemand wie es geht?

+5

http://askubuntu.com/questions/391082/how-to-see-time- setzen stamps-in-bash-history – gavv

+3

http://superuser.com/questions/397527/retrieve-linux-command-line-history-by-date – gavv

+2

und auch hier: http://stackoverflow.com/questions/11987761/ how-to-find-datum-weise-geschichte-von-linux-befehle-gefeuert – gavv

Antwort

7

regarding this link eine andere Art und Weise aus fisrt solution provided by krzyk ist

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

und dies ist dauerhaft.

+0

Fang's Antwort hat die vorübergehende Lösung. –

+0

Es zeigt das heutige Datum und die Uhrzeit für alle zuvor ausgeführten Befehle an, was falsch ist. Gibt es irgendeine Möglichkeit, das richtige Datum und die korrekte Uhrzeit zu erhalten, als vorherige Befehle ausgeführt wurden? –

+0

Ich vermute, es gibt nicht, weil die Datei Bash-Geschichte ist nur ein Text ohne weitere Daten. –

5

Versuchen Sie folgendes:

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

> history 

Sie können das Format nach Ihren Wünschen, natürlich anpassen.

+0

Dies zeigt Datum und Uhrzeit des Befehls nicht an, als es ausgelöst wurde. Sagen wir, dass Befehl gestern gefeuert wurde, aber wenn ich schreibe, wie Sie es vorgeschlagen haben, wird es das heutige Datum anzeigen. Was ich nicht will. – Rushvi

+1

@ RJ07: Dies funktioniert nicht für Befehle, die in der Vergangenheit ausgeführt wurden, da für sie kein Zeitstempel gespeichert wurde. Wenn Sie dies jedoch zu Ihrer bash.src hinzufügen, werden die Zeitstempel für alle zukünftigen bash-Eingaben gespeichert. – Fang

+0

ok danke für die antwort. – Rushvi

2

Es hängt von der Shell (und ihrer Konfiguration) in der Standard-Bash ab, dass nur der Befehl ohne Datum und Uhrzeit gespeichert wird (überprüfen Sie .bash_history, falls dort ein Zeitstempel vorhanden ist).

Um basash den Zeitstempel zu speichern, müssen Sie HISTTIMEFORMATvor die Ausführung der Befehle, z. in .bashrc oder .bash_profile. Dies wird dazu führen, dass bash die Zeitstempel in .bash_history speichert (siehe Einträge beginnend mit).

+0

Also wenn es ohne Zeit und Zeit gespeichert wird, gibt es jetzt keine Möglichkeit, die Zeit zu bekommen? – Rushvi

+1

Genau, wenn es nicht irgendwo gespeichert ist, können Sie es nicht herausbekommen. –

+0

ohk. Danke für die Antwort – Rushvi

0
HISTTIMEFORMAT="%d/%m/%y %H:%M " 

Für alle Befehle vor diesem eingegeben haben, wird es nicht helfen, da sie nur eine Standardzeit von erhalten, wenn Sie drehte sich Geschichte auf, aber es wird die Zeit keine weiteren Befehle danach loggt sein.

Wenn Sie es wollen, für eine dauerhafte Geschichte loggt sein, sollten Sie die folgenden Zeile in ~/.bashrc

export HISTTIMEFORMAT="%d/%m/%y %H:%M "