Використання команди history в Linux: 3 корисні поради
Ви напевно знаєте, що спосіб, яким history логає команди може бути громіздкими. Деякі команди навіть можуть перезаписуватись. Що із цим робити? Читайте далі.
Команда history — вбудована команда оболонок C shell (csh) і bash (але не sh). Вона призначена для повторного виконання раніше здійснюваних команд. Зазвичай історія команд зберігається в окремому файлі. Наприклад, командна оболонка bash зберігає її у файлі .bash_history. Розташований він в домашній директорії користувача. Команда history дозволяє заощадити багато часу, який йде на повторне введення довгих команд.
Базовий синтаксис команди виглядає наступним чином:
$ history [параметри]
3 корисних поради використання команди history
Як ігнорувати записи, що повторюються?
Ви можете встановити наступну опцію у вашому файлі ~ / .bashrc .</div>
Щоб ігнорувати записи, що повторюються і не перезаписувати експорт історії:
# ignore duplicate entries and don’t overwrite the history
export HISTCONTROL=ignoredups
shopt -s histappend
Після визначення змінних ви можете використовувати нові значення, виконавши наступну команду:
$ source .bashrc
Як контролювати розмір history?
Команда history може займати багато місця на диску. Щоб цього не сталося, вам потрібно використовувати три змінні середовища: HISTFILE, HISTFILESIZE і HISTSIZE.
HISTFILE—/home/<username>/.bash_history
HISTFILESIZE—1000
HISTSIZE—1000
- HISTFILE — змінна визначає ім’я та розташування файлу .bash_history
- HISTFILESIZE — визначає максимальну кількість команд, які можуть бути збережені у файлі історії
- HISTSIZE — змінна визначає, скільки кешованих команд повинно зберігатися у файлі історії.
Як тільки ви перевищите 1000 команд, найстаріші з них будуть відкинуті, оскільки зберігатися будуть нові.
$ echo $HISTSIZE
$ echo $HISTFILESIZE
$ echo $HISTFILE
Перевірити розмір історії в Linux
За замовчуванням ці змінні та розміри виділені кожному користувачеві, включаючи root. Якщо ви хочете змінити, відредагуйте файл .bashrc у вашому домашньому каталозі та встановіть змінні розміру на 2000 команд:
# control the size of the history file
export HISTSIZE=2000
export HISTFILESIZE=2000
Щоб використовувати нові значення без виходу і повторного включення, ви можете запустити файл .bashrc:
$ source .bashrc
Щоб підтвердити, що ваші нові значення тепер активні для вашої поточної оболонки та будь-якої “підоболонки”:
$ echo $HISTSIZE
$ echo $HISTFILESIZE
Підтвердити розмір історії
Як уникнути збереження команд, що повторюються?
ls, pwd і uptime — зазвичай не дуже цікаві для аудиту. Якщо ви не хочете зберігати їх і інші загальні команди в історії bash — використовуйте змінну HISTIGNORE.
Відкрийте файл .bashrc у своєму домашньому каталозі та додайте наступне:
# ignore common commands
export HISTIGNORE=”:pwd:id:uptime:resize:ls:clear:history:”
Після додавання зазначених вище змінних, потрібно виконати наступну команду, щоб використовувати нові значення:
$ source .bashrc
Додаткову інформацію можна знайти тут.