Вопрос Как увидеть отметки времени в истории bash?


Есть ли какой-нибудь способ, который я могу видеть, в какое время команды были выполнены из истории bash? Мы можем видеть заказ, но есть ли способ получить время?

Нижняя строка: время выполнения в истории Bash


180
2017-12-15 11:58


происхождения


Я поражен тем, насколько плохо документировано это как на Linux, так и на BSD в manpages. - Sridhar-Sarnobat
Проверьте этот блог - sanctum.geek.nz/arabesque/better-bash-history , - dog0


ответы:


Нажмите Ctrl+Alt+T для открытия терминала, выполните следующую команду:

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

Или, чтобы сделать изменение постоянным для текущего пользователя:

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

затем

history

Для получения дополнительной информации см. человек или Индекс A-Z командной строки Bash для Linux,

Для команд, которые были запущены до  HISTTIMEFORMAT был установлен, текущий время будет сохранено как метка времени. Команды запускаются после HISTTIMEFORMAT будет установлена ​​правильная временная метка.


231
2017-12-15 12:03



Зачем объявлять его export в .bash_profile? Это переменная, которую читает только bash, а не командами, запущенными из него, поэтому его не следует экспортировать. - Alvaro Gutierrez Perez
Обратите внимание, что это будет отметьте только отметки времени для новый элементы истории, после HISTTIMEFORMAT устанавливается для сеансов, т. е. вы не можете использовать это ретроспективно. В некоторых ответах здесь создается впечатление, что команда истории сразу показывает временные записи - Louis Maddox
@Louis - На самом деле это сработало для меня задним числом для меня?!?! - stephenmm
@Jamil: для людей, которые следуют стандартам ИСО, это «% y-% m-% d» для части даты;) - Gauthier
@Gauthier - на самом деле, просто используйте% F для даты ISO ;-) man7.org/linux/man-pages/man3/strftime.3.html - brianmearns


Открытый терминалCtrl+Alt+T и бежать,

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

тогда,

history

Чтобы изменения были постоянными, выполните следующие шаги:

gedit ~/.bashrc

вам нужно добавить строку ниже в файл .bashrc, а затем сохранить ее,

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

выполните приведенную ниже команду в исходный файл .bashrc,

source ~/.bashrc

После этого history команда.

enter image description here

источник:http://www.cyberciti.biz/faq/unix-linux-bash-history-display-date-time/


59
2017-12-15 12:02



Спасибо, что ответил, \ будет ли это постоянным изменением? - Ten-Coin
Эй, я делаю это в OS X и Windows (через MINGW), и я добавляю его в .bash_profile, какая разница между профилем и rc? - LasagnaAndroid


Да, вы можете: если вы установите $HISTTIMEFORMAT, .bash-history будет надлежащим образом отмечена. Это не помогает .bash-history контента, но поможет в будущем.


15
2017-12-15 12:02



можете ли вы расширить его для большей ясности? - Ten-Coin
Исправление к предыдущему сообщению: настройка HISTTIMEFORMAT позволяет отображать метки времени ... даже существующие. Моим любимым является: HISTTIMEFORMAT = '% F% T', поскольку не имеет значения, из какой страны вы проживаете ... каждый знает, в какое время это время. :)
Я установил $ HISTTIMEFORMAT, и я получил время на сегодняшний день даже до команд этого набора. - Yasin Okumuş


Чтобы включить хронологические отметки времени для всех пользователей, создайте сценарий в файле /etc/profile.d:

echo 'HISTTIMEFORMAT="%Y%m%d %T "' >> /etc/profile.d/timestamp.sh

0
2018-01-09 21:18



Вероятно, это не будет работать для пользователей, входивших в систему через GUI, поскольку терминал по умолчанию не будет запускать оболочки входа. /etc/bash.bashrcбыло бы лучше. - muru