включить временную метку в истории Bash

Thank you for reading this post, don't forget to subscribe!

Как включить отметку времени в истории Bash на Linux

Bash ведет исто­рию команд, вве­ден­ных в Терминале.

Этот спи­сок команд сохра­ня­ет­ся в фай­ле с име­нем .bash_history в нашем HOME каталоге.

Боль­шин­ство дис­три­бу­ти­вов Linux по умол­ча­нию запо­ми­на­ют послед­ние 1000 команд.

Мы можем полу­чить недав­но выпол­нен­ные коман­ды, исполь­зуя исто­рию коман­ды как, пока­за­но ниже:

Как вы види­те в при­ве­ден­ном выше выво­де, хотя коман­да history отоб­ра­жа­ет спи­сок ранее выпол­нен­ных команд, она не пока­зы­ва­ет, когда эти коман­ды были выполнены.

Что­бы вклю­чить отмет­ку вре­ме­ни в исто­рии Bash в вашем Linux, вам необ­хо­ди­мо уста­но­вить пере­мен­ную сре­ды HISTTIMEFORMAT.

Эта пере­мен­ная исполь­зу­ет­ся для выво­да мет­ки вре­ме­ни, свя­зан­ной с каж­дой отоб­ра­жа­е­мой запи­сью в истории.

Выпол­ни­те сле­ду­ю­щую коман­ду, что­бы уста­но­вить пере­мен­ную окру­же­ния HISTTIMEFORMAT:

Здесь пара­метр %F исполь­зу­ет­ся для отоб­ра­же­ния даты в фор­ма­те ГГГГ-ММ-ДД (год-месяц-дата).

А опция %T исполь­зу­ет­ся для отоб­ра­же­ния вре­ме­ни в фор­ма­те ЧЧ: ММ: СС (часы-мину­ты-секун­ды).

Теперь запу­сти­те коман­ду history еще раз, и вы уви­ди­те отмет­ку вре­ме­ни перед каж­дой командой:

Теперь вы може­те лег­ко узнать, когда в вашей систе­ме Linux выпол­ня­лась опре­де­лен­ная команда.

Если вы хоти­те отоб­ра­зить мет­ки вре­ме­ни для послед­них команд “N”, напри­мер 10, направь­те вывод коман­ды history по пай­пу в коман­ду tail, например:

Обра­ти­те вни­ма­ние, что при этом будут уста­нов­ле­ны отмет­ки вре­ме­ни для новых запи­сей исто­рии толь­ко после того, как пере­мен­ная сре­ды HISTTIMEFORMAT будет уста­нов­ле­на для сеансов.

Вы так­же може­те настро­ить фор­мат даты по сво­е­му вку­су, как пока­за­но в сле­ду­ю­щей команде:

Эта пере­мен­ная сре­ды пока­зы­ва­ет дату и вре­мя в исто­рии коман­ды в фор­ма­те дд/мм/год, напри­мер. 27.11.20 19:11:55.

Что­бы пере­мен­ная окру­же­ния HISTTIMEFORMAT сохра­ня­лась при пере­за­груз­ке систе­мы, отре­дак­ти­руй­те файл ~/.bashrc:

Добавь­те в конец сле­ду­ю­щую строку:

или

Нажми­те CTRL + O, что­бы сохра­нить файл, и нажми­те CTRL + X, что­бы выйти.

Выпол­ни­те сле­ду­ю­щую коман­ду, что­бы изме­не­ния всту­пи­ли в силу немедленно:

Систе­ма будет отоб­ра­жать толь­ко вре­мен­ную мет­ку для теку­ще­го пользователя.

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

и добавь­те туда:

или:

Сохра­ни­те и закрой­те файл.

Что­бы изме­не­ния всту­пи­ли в силу, запустите: