Как я могу увидеть метку времени, когда команда была выполнена с использованием истории?

11

Я хотел бы проверить, в какое время / дату была выполнена команда в истории Bash. Это возможно?

Джонатан Дэй
источник

Ответы:

16

Возможно. Команда help historyговорит:

Если переменная $ HISTTIMEFORMAT установлена ​​и не равна нулю, ее значение используется в качестве строки формата для strftime (3) для печати метки времени, связанной с каждой отображаемой записью истории. В противном случае метки времени не печатаются

Я установил переменную для моего пользователя следующим образом (в Ubuntu):

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

Если вы хотите это глобально, добавьте строку в /etc/bash.bashrc:

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

Смотрите man strftimeвсе возможные варианты форматирования


Выход historyна моей коробке:

  ...
  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 Когда вы устанавливаете переменную в первый раз, тогда вся история получит отметку времени, когда переменная была установлена.

Сийм К
источник
Я нахожу это действительно полезным, но я еще не добился успеха. Я добавил [export HISTIMEFORMAT = "% d.% M.% Y% T"] к моему ~ / .bashrc, но пока не получаю дополнительные данные о времени history. (На Ubuntu 10.10 за то, что он стоит.)
Boehj
@ Boehj: Возможно, вам придется выйти и войти снова
Siim K
Хорошо, я попробую и доложу. Приветствия. Но сейчас время пива. :)
Boehj
выглядит великолепно, но, к сожалению, я вижу то же самое, что и @boehj на Centos
Jonathan Day
1
@Jonathan и @boehj: конечно, в Tимени переменной отсутствовало :( Я виню свои пальцы ... Я обновил ответ, пожалуйста, попробуйте сейчас
Siim K