Увеличение хранимой истории команд терминала

Незаметно для себя самого начал много работать на локальной системе используя в основном терминал. Многие команды повторяются, а некоторые, особенно однострочные сложные конструкции, выполняются одноразово и теряются в истории.
Примечательно, что некоторые из них получаются в результате часовых гуглений и десятков попыток. И довольно обидно когда никуда не записав их эти шедевры перезаписываются историей. Было решено увеличить размер хранимой истории, который по умолчанию равен 500 командам. За хранение истории отвечают две переменные окружения: HISTFILESIZE и HISTSIZE
Проверить значение можно просто выполнив

$ echo $HISTFILESIZE $HISTSIZE
500 500

или

$ history | wc -l
500

Для того что бы изменить ограничение необходимо в файл ~/.bash_profile добавить следующие строки:

export HISTFILESIZE=999999
export HISTSIZE=999999

После сохранения файла я перезапустил терминал для применения настроек и снова выполнил проверку

$ echo $HISTFILESIZE $HISTSIZE
999999 999999

И теперь проверим иным методом, несколько раз запустив данный вывод

$ history | wc -l
     502
$ history | wc -l
     503
$ history | wc -l
     504
$ history | wc -l
     505

как видим команда echo $HISTFILESIZE $HISTSIZE стала 501 в списке команд.
Дальнейшие вызовы только увеличивали количество хранимых записей в истории команд, о чем сигнализирует постоянное увеличение вывода.
Главное теперь не упустить момент, когда история в 999999 записей переполнится и не начнет перезаписываться 🙂

Добавить комментарий