Хотите добавить временую метку (дату и время) рядом с каждой выполненной командой в истории Bash? Это можно сделать, используя переменную HISTTIMEFORMAT
Bash.
Bash хранит историю введенных вами команд, доступ к которой можно получить, набрав команду history
. По умолчанию вы видите число, за которым следуют команды, которые вы недавно использовали:
1 2 3 4 5 6 7 |
$ history 1889 cd Cloaker/ 1890 ./Cloaker.run 1891 sudo apt upgrade 1892 sudo apt autoremove 1893 history |
С помощью переменной Bash HISTTIMEFORMAT
вы можете показать дату и время выполнения каждой команды. Это может быть полезно в различных случаях, в том числе для запоминания того, какие команды вы выполняли в определенный период времени, для отмены различных операций.
РЕКОМЕНДУЕМ:
Использование терминала Linux в качестве калькулятора
Стоит отметить, что если эта переменная установлена, отметки времени записываются в файл истории, поэтому они сохраняются в сеансах оболочки. Исходя из этого, при первом включении вы не увидите правильную дату и время для ранее использованных вами команд.

Задайте историю Bash, чтобы отображать временную метку для истории команд (только для текущего сеанса терминала) с помощью этой команды:
1 |
HISTTIMEFORMAT="%F %T " |
Эта команда предназначена только для этого сеанса, поэтому вы можете посмотреть, как она выглядит, и при желании настроить формат даты и времени (см. Ниже).
Теперь введите history
, и вы должны увидеть метки времени для ваших команд истории Bash:
1 2 3 4 5 6 7 |
$ history 2027 2019-07-12 13:02:31 sudo apt update 2028 2019-07-12 13:02:33 history 2029 2019-07-12 13:03:35 HISTTIMEFORMAT="%F %T " 2029 2019-07-12 13:03:38 man date 2030 2019-07-12 13:03:55 history |
Мы экспортировали HISTTIMEFORMAT со следующей отметкой времени:
%F
: полная дата (год-месяц-дата)%T
: время (час: минуты: секунды)
Есть проблем после %T
и до "
, так что в истории Bash есть пробел между временем выполнения команды и самой командой. Без нее эти два не будут разделены.
Вы можете настроить формат даты и времени. Используйте HISTTIMEFORMAT="%Y/%m/%d %T "
, чтобы показать дату и время как год (4 цифры) или вывести дату в виде месяц/день/год (2 цифры) %m/%d/%y
.
Теперь пришло время экспортировать HISTTIMEFORMAT
из вашего файла ~/.bashrc
, чтобы установить его по умолчанию для всех новых сеансов терминала вашего пользователя. Вы можете открыть файл ~/.bashrc
в текстовом редакторе и вставить экспорт export HISTTIMEFORMAT="%F %T "
(или другой формат даты и времени) внизу, затем сохранить файл или запустить эту команду, чтобы записать это в ваш ~/.bashrc
:
1 |
echo 'export HISTTIMEFORMAT="%F %T "' >> ~/.bashrc |
Запустите эту команду только один раз, потому что она добавляет export HISTTIMEFORMAT="%F %T "
в ~/.bashrc
при каждом запуске.
После этого остается только получить файл ~/.bashrc
, чтобы текущий сеанс терминала использовал новые настройки (или вы можете открыть новый терминал, и он автоматически выберет новые настройки HISTTIMEFORMAT):
1 |
source ~/.bashrc<code> |
РЕКОМЕНДУЕМ:
Как изменить цвет терминала Linux и добавить интересные функции
На этом все. Теперь вы знаете как отобразить точное время выполнения команд в истории команд Bash.