Для отображения времени, нужно определить формат переменной окружения HISTTIMEFORMAT
, например указав дату и время в такой последовательности:
HISTTIMEFORMAT="%d/%m/%y %T "
Где %d – день, %m – месяц, %y – год, %T – время
Эту переменную необходимо добавить в свой .bash_profile
:
echo 'export HISTTIMEFORMAT="%d/%m/%y %T "' >> ~/.bash_profile
Применяем настройки:
. ~/.bash_profile
Дата и время должны появится в выводе команды history
.
Дополнительные настройки
Увеличиваем размер хранимой истории
Увеличьте HISTSIZE
— количество команд, которые необходимо запоминать в списке истории (стандартное значение — 500):
export HISTSIZE=100000
Увеличиваем максимальное количество строк, содержащееся в файле истории (стандартное значение — 500):
export HISTFILESIZE=100000
Запретить перезапись файла .bash_history
Добавьте следующую строку в ~/.bashrc
:
shopt -s histappend
Мгновенное сохранение истории команд
По умолчанию, Bash записывает историю команд в .bash_history
, при завершении сессии.
Если сессия внезапно оборвется Вы потеряете текущую историю команд.
Используйте переменную $PROMPT_COMMAND
, чтобы сохранять команды сразу после выполнения:
PROMPT_COMMAND='history -a'
Добавьте следующую строку, если переменная $PROMPT_COMMAND
уже была задана:
PROMPT_COMMAND='$PROMPT_COMMAND; history -a'
Игнорировать Определенные КомандыHISTIGNORE
— список шаблонов через двоеточие, используемых для принятия решения о сохранении строк с командами в списке истории.
Например, не будем сохранять команды ls, ps и history:
export HISTIGNORE="ls:ps:history"
Не сохранять команды начинающиеся с s:
export HISTIGNORE="s*"
Одна Команда — Одна Запись в Истории
Сохранять все строки многострочной команды в одной записи списка истории:
shopt -s cmdhist
Не забываем применять настройки после добавления переменных и дополнительных настроек:
. ~/.bash_profile
https://securixy.kz/hack-faq/linux/linux-data-i-vremja-v-history.html