Rufen Sie den Linux-Befehlszeilenverlauf nach Datum ab

20

Ich möchte sehen, was ich an einem bestimmten Tag vor einer Woche in meiner Bash-Befehlszeile eingegeben habe. Gibt es eine Möglichkeit, den Befehlszeilenverlauf abzurufen? Vielleicht so etwas wie unten?

> history --include-date | grep 2012-02-27`
aaa
quelle
nicht, wenn es nicht bereits aktiviert war: cyberciti.biz/faq/unix-linux-bash-history-display-date-time
RobotHumans
Wenn Sie zsh verwenden:history -E
Vahid

Antworten:

32

HistoryProtokolliert standardmäßig die Zeit, zu der Sie einen Befehl ausgeführt haben, zeigt ihn jedoch nicht an. Der Grund dafür ist, dass beim Ausführen des HistoryBefehls nach einer Umgebungsvariablen namens aufgerufen wird HISTTIMEFORMAT, die angibt , wie die Zeit formatiert werden soll. Wenn der Wert festgelegt ist nulloder nicht, wird standardmäßig keine Zeit angezeigt.

Ein Beispiel mit etwas Zeit-

[qweet@superbox ~]$ export HISTTIMEFORMAT='%F %t '
[qweet@superbox ~]$ history
    1  2012-03-06        su -
    2  2012-03-06        jbach@mobiletribe.net
    3  2012-03-06        mysql
    4  2012-03-06        ll
    5  2012-03-06        cd /opt/
    6  2012-03-06        ll
    7  2012-03-06        exit
    8  2012-03-06        ll
    9  2012-03-06        ls -lsa
   10  2012-03-06        cd ../
   11  2012-03-06        ll
   12  2012-03-06        ll
....

Aber das ist nicht alles. Da die HISTTIMEFORMATnimmt strftimeWerte (die Sie finden hier btw), können Sie alle Arten von magischen Dinge tun. Aber für das, was Sie tun möchten, funktioniert das Folgende.

[qweet@superbox ~]$ export HISTTIMEFORMAT='%F %T %t'
[qweet@superbox ~]$ history | grep -e "2012-03-06 14:48"
 1006  2012-03-06 14:48:05      export HISTTIMEFORMAT='%F %T %t'
 1007  2012-03-06 14:48:07      history
 ...

Wenn Sie möchten, dass Ihr HISTTIMEFORMAT bestehen bleibt, sollten Sie es an Ihr bashrcähnliches anhängen .

echo 'HISTTIMEFORMAT="variables here"' >> ~/.bashrc

Sie sehen die Änderungen, wenn Sie eine neue Registerkarte im Terminal öffnen oder sich abmelden und anmelden.

qweet
quelle