Можливо, ви знаєте основне використання команди history, але вона може зробити набагато більше, ніж це. Історія баш зазвичай зберігається у файлі ~ /.bash_history. Це дозволяє ефективно згадувати та використовувати збережений запис ефективно, щоб отримати найкращі можливості збереження історії bash. Не тільки це, але ви також можете налаштувати та контролювати висновок команди bash у потрібний спосіб.
У цій статті ми пояснимо, як ефективно використовувати та налаштовувати історію команд bash, щоб отримати максимальну віддачу від її можливостей.
Ми використовували Debian 10 для запуску команд та процедур, згаданих у цій статті.
Використання історії команд bash
1. Перегляд історії Bash
Щоб переглянути всю історію команд оболонки, ви можете виконати таку команду в терміналі:
$ історіяУ ньому буде перелічена вся історія для конкретного користувача з файлу історії, що зберігається спеціально для цього користувача. Ви побачите всі команди, починаючи з номера, виділеного кожній з них. Тут буде перелічено старіші команди вгорі, починаючи з цифри 1, і новіші команди внизу.
2. Пошук результатів історії
Ви також можете шукати певне ключове слово з результатів історії. З’єднайте команду історії з grep та конкретним ключовим словом, щоб знайти команди, які відповідають вказаному ключовому слову, наступним чином:
$ історія | grep [ключове слово]Наприклад, щоб перерахувати всі команди, що містять ключове слово "знайти", команда буде такою:
$ історія | знайти grep
3. Перегляд останніх n команд
У команді history за замовчуванням перелічено останні 1000 команд, виконаних користувачем. У випадку, якщо ви хочете вказати лише конкретне число, скажімо, n кількість останньої виконаної команди, запустіть таку команду в терміналі:
$ історія nНаприклад, щоб перерахувати останні 7 виконаних команд, команда буде такою:
$ історія 7Щоб переглянути кількість останніх n команд, що містять конкретне ключове слово, ви можете використовувати такий синтаксис:
$ історія | grep ключове слово | tail -nПрикладом цього може бути перегляд останніх 4 виконаних команд із ключовим словом “java”.
$ історія | grep java | хвіст -н
4. Перегляд найстаріших команд
Щоб переглянути найдавнішу кількість команд, ви можете використовувати такий синтаксис у терміналі:
$ історія | голова -нЩоб переглянути найдавнішу кількість команд, що включає певне ключове слово, використовуйте такий синтаксис:
$ історія | grep ключове слово | head -nПрикладом цього може бути перегляд найстаріших 4 виконаних команд із ключовим словом “java”.
$ історія | grep java | голова -4
5. Повністю очистити історію Bash
Щоб видалити всю історію bash, запустіть у терміналі таку команду:
$ історія -cwНалаштування історії команд bash
Щоб налаштувати історію команд bash, нам доведеться внести зміни в ~ /.файл bashrc. Для редагування ~ /.bashrc, використовуйте таку команду:
$ nano ~ /.bashrcПісля завершення модифікації файлу використовуйте Ctrl + O та Ctrl + X, щоб зберегти та закрити редактор nano.
Потім запустіть таку команду, щоб застосувати зміни:
$ джерело ~ /.bashrc1. Додайте дату та мітку часу в історію башів
Якщо ви хочете відобразити дату та позначку часу разом із історією команд, ви можете зробити це, додавши наступний рядок у ~ /.bashrc:
$ export HISTTIMEFORMAT = '% F,% T'Тепер запустіть історії команда, і вона покаже історію команд із відповідними даними та позначкою часу.
2. Збільшення розміру історії Bash
Bash за замовчуванням зберігає 500 команд у списку історії. Однак ми можемо змінити це значення, використовуючи значення HISTSIZE.
Щоб переглянути поточний розмір історії bash, запустіть у терміналі таку команду:
$ echo $ HISTSIZEАналогічним чином, розмір файлу історії bash за замовчуванням становить 500. Це максимальна кількість записів, які містяться у файлі історії.
Щоб збільшити розмір історії bash, скажімо 10000, додайте наступні рядки в ~ /.файл bashrc:
$ HISTSIZE = 10000$ HISTFILESIZE = 10000
Щоб перевірити, чи успішно змінився розмір історії bash, виконайте такі команди в терміналі:
$ echo $ HISTSIZE$ echo $ HISTFILESIZE
3. Додайте команди Bash до файлу історії
Коли сеанс bash закритий, ви можете вибрати, перезаписувати чи додавати команди у файлі історії за допомогою змінної histappend. Щоб переглянути поточні налаштування, запустіть у терміналі таку команду:
$ shopt histappend"Увімкнено" на виході показує, що опція histappend увімкнена, і команди будуть додані до файлу історії замість перезапису. Поки відображається "вимкнено", опція histappend вимкнена, і файл буде перезаписано.
Відкрийте ~ /.файл bashrc та:
Додайте наступний рядок, якщо ви хочете додати команди до файлу історії замість перезапису:
$ shopt -s hispappendАбо додайте наступний рядок, якщо ви хочете відключити опцію додавання і хочете перезаписати файл при виході:
$ shopt -u histappend4. Зберігайте історію Bash негайно
Bash за замовчуванням зберігає сеанс у файлі історії bash лише після закінчення сеансу. Щоб змінити цю поведінку за замовчуванням і зробити так, щоб миттєво зберегти кожну виконану вами команду, ви можете скористатися PROMPT_COMMAND.
Редагувати ~ /.bashrc і додайте наступний рядок:
$ PROMPT_COMMAND = 'історія -a'Тепер, коли ви виконуєте будь-яку команду, вона буде негайно додана до файлу історії.
5. Контроль історії Bash
Ми можемо контролювати, як bash зберігає нашу історію команд за допомогою змінної HISTCONTROL. Ми можемо вказати його для ігнорування повторюваних записів та / або для ігнорування записів із пробілами.
- ignorespace - усуває команди, які починаються зі списку історії пробілів.
- ignoredups - усунути повторювані команди.
- ignoreboth - Увімкніть ігнорування, і ігнорування простору
- стирати - виключати дублікати з усього списку
Щоб застосувати ці функції, відкрийте ~ /.bashrc та додайте наступний рядок зі значеннями, розділеними двокрапкою, наступним чином:
$ export HISTCONTROL = ignorespace: ignoredups6. Ігнорувати конкретні команди
Ми також можемо контролювати, які команди ігнорувати в історії, використовуючи змінну HISTIGNORE. Це розділений двокрапкою список шаблонів, в якому ми можемо вказати всі команди, які ми хочемо ігнорувати з історії.
Наприклад, якщо ми не хочемо перерахувати основні команди, такі як history, ls, pwd команди в списку історії, тоді ми додаємо наступний рядок у ~ /.файл bashrc:
$ export HISTIGNORE = "історія: ls: pwd:"За допомогою історії команд bash Linux ви можете зробити набагато більше, ніж просто повторити старі команди. У цій статті ми дізналися, як використовувати історію bash для перегляду команд, які виконувались раніше, а також навчилися керувати способом збереження bash історії команд.