Використання команди 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

Перевірити розмір історії в 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

Додаткову інформацію можна знайти тут.

Залишити відповідь

Дякуємо, що поділились