Програмування BASH

Використання та налаштування історії команд Bash

Використання та налаштування історії команд Bash
Оболонка bash - це середовище командного рядка за замовчуванням, доступне в більшості дистрибутивів Linux. Як і в усіх середовищах оболонки, він зберігає запис команд, які раніше виконував користувач. Цей запис зберігається і підтримується, навіть коли ми перезапускаємо нашу систему.

Можливо, ви знаєте основне використання команди 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.

Потім запустіть таку команду, щоб застосувати зміни:

$ джерело ~ /.bashrc

1. Додайте дату та мітку часу в історію башів

Якщо ви хочете відобразити дату та позначку часу разом із історією команд, ви можете зробити це, додавши наступний рядок у ~ /.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 histappend

4. Зберігайте історію Bash негайно

Bash за замовчуванням зберігає сеанс у файлі історії bash лише після закінчення сеансу. Щоб змінити цю поведінку за замовчуванням і зробити так, щоб миттєво зберегти кожну виконану вами команду, ви можете скористатися PROMPT_COMMAND.

Редагувати ~ /.bashrc і додайте наступний рядок:

$ PROMPT_COMMAND = 'історія -a'

Тепер, коли ви виконуєте будь-яку команду, вона буде негайно додана до файлу історії.

5. Контроль історії Bash

Ми можемо контролювати, як bash зберігає нашу історію команд за допомогою змінної HISTCONTROL. Ми можемо вказати його для ігнорування повторюваних записів та / або для ігнорування записів із пробілами.

Щоб застосувати ці функції, відкрийте ~ /.bashrc та додайте наступний рядок зі значеннями, розділеними двокрапкою, наступним чином:

$ export HISTCONTROL = ignorespace: ignoredups

6. Ігнорувати конкретні команди

Ми також можемо контролювати, які команди ігнорувати в історії, використовуючи змінну HISTIGNORE. Це розділений двокрапкою список шаблонів, в якому ми можемо вказати всі команди, які ми хочемо ігнорувати з історії.

Наприклад, якщо ми не хочемо перерахувати основні команди, такі як history, ls, pwd команди в списку історії, тоді ми додаємо наступний рядок у ~ /.файл bashrc:

$ export HISTIGNORE = "історія: ls: pwd:"

За допомогою історії команд bash Linux ви можете зробити набагато більше, ніж просто повторити старі команди. У цій статті ми дізналися, як використовувати історію bash для перегляду команд, які виконувались раніше, а також навчилися керувати способом збереження bash історії команд.

Open Source Ports of Commercial Game Engines
Free, open source and cross-platform game engine recreations can be used to play old as well as some of the fairly recent game titles. This article wi...
Кращі ігри командного рядка для Linux
Командний рядок - це не просто ваш найбільший союзник при використанні Linux, він також може бути джерелом розваг, оскільки ви можете використовувати ...
Кращі програми для картографування геймпадів для Linux
Якщо ви любите грати в ігри на Linux із геймпадом замість типової системи введення клавіатури та миші, є кілька корисних програм для вас. Багато ігор ...