Чи є максимальний розмір файлу історії баш?


18

Чи можна збільшити розмір історії команд у bash?

Зауважте, що я тут використовую комп'ютер Red Hat Linux у відділі астрофізики студентства (тому я не отримую так багато привілеїв).


Відповіді:


16

Замість вказівки цифр можна зробити

unset HISTSIZE 
unset HISTFILESIZE
shopt -s histappend

у такому випадку обмеження має лише розмір вашого диска (і ваш "найбільший ліміт файлу", якщо у вашої ОС або FS).

Однак майте на увазі, що це врешті-решт сповільнить удар все більше і більше. див. цей документ BashFAQ та статтю про адміністрування debian (оригінальне посилання загинуло, дивіться у дзеркало: archive.is та archive.org ) щодо методів, які краще масштабуються.


Можливо, вам також доведеться збільшити history-sizeсвою inputrc.
Кріс Даун

Попередження: Як зазначалося [ unix.stackexchange.com/a/76129/78713:11 ( нижче) , це може спричинити спадкування Bash за замовчуванням і, якщо ваш існуючий .bash_historyбільший, ніж усі, - усікати його.
Кріс Повірк

8

Ви можете використовувати логротат для збереження старих записів. Це дозволяє, наприклад, встановити обмеження розмірів, що призведе до архівації. Зазвичай він виконується з щоденної роботи, але ви можете так само викликати його зі свого .bash_logoutсценарію.


Мені здається, що це найбільш стійкий підхід для мене, оскільки зняття обмежень розміру з часом вплине на продуктивність. Хоча я не переживаю, я незабаром досягну межі, боюсь, що знадобиться певний час, щоб почати помічати такі наслідки. Btw, розглянути можливість додавання налаштування, який ви встановили, та опціональну команду bash logout, яку потрібно додати.
Бальміпур

Посилання не працює. Можливо, відредагуйте, щоб вказати на інше посилання з тією ж цільовою інформацією?
Доктор Беко

7

@Philomath, не налаштовувати ці зміни на довкілля для мене взагалі не працює! Для мене це призводить до того, що bash використовує свої вбудовані параметри (здається) обрізання .bash_history до приблизно 9KiB.

Що для мене працює в моєму .bashrc:

export HISTSIZE=
export HISTFILESIZE=
shopt -s histappend
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.