Jak mogę zobaczyć znacznik czasu, kiedy polecenie zostało wykonane przy użyciu historii?

11

Chciałbym sprawdzić, o której godzinie / dacie wykonano polecenie w historii bash. czy to możliwe?

Jonathan Day
źródło

Odpowiedzi:

16

To jest możliwe. help historyKomenda mówi:

Jeśli zmienna $ HISTTIMEFORMAT jest ustawiona i nie ma wartości null, jej wartość jest używana jako ciąg formatujący dla strftime (3) w celu wydrukowania znacznika czasu związanego z każdym wyświetlanym wpisem historii. W przeciwnym razie znaczniki czasu nie są drukowane

Ustawiam zmienną dla mojego użytkownika w ten sposób (na Ubuntu):

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

Jeśli chcesz to globalnie, dodaj linię do /etc/bash.bashrc:

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

Zobacz man strftimewszystkie możliwe opcje formatowania


Wyjście historyna moim pudełku:

  ...
  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 Po ustawieniu zmiennej po raz pierwszy cała historia otrzyma znacznik czasu od momentu ustawienia zmiennej.

Siim K.
źródło
Uważam to za bardzo przydatne, ale nie miałem jeszcze żadnych sukcesów. Dołączyłem [eksport HISTIMEFORMAT = "% d.% M.% Y% T"] do mojego ~ / .bashrc, ale nie dostaję jeszcze dodatkowych danych czasu, kiedy to zrobię history. (Na Ubuntu 10.10 za to, co jest warte.)
boehj
@boehj: Być może trzeba się wylogować i zalogować ponownie
Siim K,
OK, spróbuję i zdam raport. Twoje zdrowie. Ale na razie jest godzina piwna. :)
boehj
wygląda świetnie, ale niestety widzę to samo, co @boehj na Centos
Jonathan Day
1
@Jathanathan i @boehj: oczywiście Tbrakowało nazwy zmiennej :( Obwiniam palce ... Zaktualizowałem odpowiedź, proszę spróbować teraz
Siim K