В терминале история bash часто полезна, когда вы ищете командную строку, которую вы уже использовали. Но есть ли способ повлиять на поведение истории bash (то есть, какие команды сохраняются, как долго они сохраняются, сколько сохраняются и т. Д.)?
Установка метки времени для истории:
По умолчанию, история не добавляют с меткой времени, но легко настроить его для отображения метки времени, просто необходимо установить одну переменную среды HISTTIMEFORMAT.
export HISTTIMEFORMAT="%h/%d - %H:%M:%S "
Если Вы не хотите сохранять команды в истории, то
export HISTSIZE=0
ПЕРЕМЕННЫЕ:
Примечание:
~/.bashrc
или ~/.bash_aliases
.Несколько переменных контролируют поведение вашей истории:
HISTCONTROL
: контролирует, как значения сохраняются в вашей истории. Здесь можно ввести значения ignorespace
, ignoredups
и erasedups
(разделить их двоеточием). HISTFILE
: устанавливает местоположение файла истории. HISTFILESIZE
: устанавливает максимальное количество строк в файле истории. HISTIGNORE
: есть список шаблонов, которые bash игнорирует (см. другой ответ для синтаксиса). HISTSIZE
: содержит ряд строк, которые запоминаются в реальной оболочке. HISTTIMEFORMAT
: содержит выражение для форматирования записи (см. другой ответ ) Вы можете добавить строку типа
export HISTFILESIZE=5000
в ~/.bashrc
, чтобы увеличить размер истории. По умолчанию команды, начинающиеся с пробела, не сохраняются. Это связано с export HISTCONTROL=ignoreboth
, который по умолчанию включен в Ubuntu.
Вы также можете игнорировать команды, начинающиеся с l
или which
, используя
export HISTIGNORE="l*:which*"
Есть способ рассказать истории НЕ запоминать команду: просто начните с пробела. Есть также очень простой способ получить определенную команду: введите CTRL + R и слово из команды, которую вы ищете.
Конечно, есть способ увеличить историю по умолчанию, которая составляет 500 строк по умолчанию ... но я не знаю как, извините!