Wie kann ich einen Zeitstempel anzeigen, wenn ein Befehl mithilfe des Verlaufs ausgeführt wurde?

11

Ich möchte überprüfen, zu welcher Zeit / zu welchem ​​Datum ein Befehl im Bash-Verlauf ausgeführt wurde. Ist das möglich?

Jonathan Day
quelle

Antworten:

16

Es ist möglich. Der help historyBefehl sagt:

Wenn die Variable $ HISTTIMEFORMAT festgelegt und nicht null ist, wird ihr Wert als Formatzeichenfolge für strftime (3) verwendet, um den Zeitstempel zu drucken, der jedem angezeigten Verlaufseintrag zugeordnet ist. Andernfalls werden keine Zeitstempel gedruckt

Ich setze die Variable für meinen Benutzer wie folgt (unter Ubuntu):

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

Wenn Sie es global möchten, fügen Sie die Zeile hinzu zu /etc/bash.bashrc:

echo 'export HISTTIMEFORMAT="%d.%m.%y %T "' >> /etc/bash.bashrc

Siehe man strftimefür alle möglichen Formatierungsoptionen


Die Ausgabe historyauf meiner Box:

  ...
  132  05.05.11 10:45:11 ls
  133  05.05.11 10:45:14 cd ..
  134  05.05.11 10:45:17 history

PS Wenn Sie die Variable zum ersten Mal festlegen, erhält der gesamte Verlauf den Zeitstempel des Zeitpunkts, zu dem die Variable festgelegt wurde.

Siim K.
quelle
Ich werde das wirklich nützlich finden, aber ich habe noch keinen Erfolg gehabt. Ich habe [export HISTIMEFORMAT = "% d.% M.% Y% T"] an mein ~ / .bashrc angehängt, aber ich erhalte noch keine zusätzlichen Zeitdaten, wenn ich dies tue history. (Auf Ubuntu 10.10 für das, was es wert ist.)
Boehj
@boehj: Möglicherweise müssen Sie sich abmelden und erneut anmelden
Siim K
OK, ich werde es versuchen und mich zurückmelden. Prost. Aber jetzt ist es Bier. :)
Boehj
sieht gut aus, aber leider sehe ich das gleiche wie @boehj auf Centos
Jonathan Day
1
@ Jonathan und @ Boehj: Natürlich Tfehlte im Variablennamen :( Ich beschuldige meine Finger ... Ich habe die Antwort aktualisiert, bitte versuchen Sie es jetzt
Siim K