Установка даты и времени в истории Bash для каждой выполняемой команды

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

По умол­ча­нию все коман­ды, выпол­ня­е­мые Bash в команд­ной стро­ке, хра­нят­ся в буфе­ре-исто­рии или запи­сы­ва­ют­ся в файл с име­нем ~/.bash_history. Это озна­ча­ет, что систем­ный адми­ни­стра­тор может про­смат­ри­вать спи­сок команд, выпол­ня­е­мых поль­зо­ва­те­ля­ми в систе­ме, так же поль­зо­ва­тель может про­смат­ри­вать свою исто­рию команд, исполь­зуя коман­ду history.

Выше, в выво­де коман­ды history дата и вре­мя выпол­не­ния команд, не отоб­ра­жа­ют­ся. Это пове­де­ние по умол­ча­нию для боль­шин­ства, если не для всех дис­три­бу­ти­вов Linux.

В этой ста­тье мы объ­яс­ним, как вы може­те настро­ить отоб­ра­же­ние инфор­ма­ции о дате и вре­ме­ни выпол­не­ния каж­дой коман­ды в исто­рии Bash.

Дата и вре­мя, свя­зан­ные с каж­дым выпол­не­ни­ем коман­ды, могут быть запи­са­ны в файл history, отме­чен­ный сим­во­лом ком­мен­та­рия исто­рии, путем уста­нов­ки пере­мен­ной HISTTIMEFORMAT.

Есть два воз­мож­ных спо­со­ба выпол­нить это: пер­вое — вре­мен­но, а вто­рое — сде­ла­ет такое пове­де­ние постоянным.

Что­бы вре­мен­но уста­но­вить пере­мен­ную HISTTIMEFORMAT, уста­но­ви­те её, как пока­за­но в команд­ной стро­ке ниже:

В при­ве­ден­ной выше коман­де экс­пор­та фор­мат мет­ки времени:

  • %F — округ­ля­ет­ся до цело­го зна­че­ния даты, %Y-%m-%d (год-месяц-дата).
  • %T — округ­ля­ет­ся до цело­го зна­че­ния вре­ме­ни, %H:%M:%S (час:минута:секунды).

Про­чти­те стра­ни­цу спра­воч­ной коман­ды date для полу­че­ния допол­ни­тель­ной информации:

Затем про­верь­те свою исто­рию выпол­не­ния команд сле­ду­ю­щим образом:

Одна­ко, если вы хоти­те настро­ить эту пере­мен­ную на посто­ян­ной осно­ве, открой­те файл ~/.bashrc сво­им люби­мым редактором:

И добавь­те в неё стро­ку при­ве­дён­ную ниже (она поме­че­на ком­мен­та­ри­ем как соб­ствен­ная конфигурация):

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