Авторский блог про сетевое и системное администрирование.
Сайт: networkadmin.ru
Реклама: @dad_admin
Биржа: https://telega.in/c/networkadminru
Post #828
1.84K
📱 Настройка history
На всех linux-серверах, которые необходимо настроить или с которыми предстоит плотно поработать, первым делом стоит задуматься про историю команд. Т.к я часто пользуюсь history, поэтому важно, чтобы команды: сохранялись сразу, хранились долго, были с таймстампами и не засорялись мусором. Обычно добавляю все в
1️⃣ Немедленное сохранение истории. По умолчанию bash записывает команды в файл истории только при завершении сессии. Это неудобно: открыл вторую SSH-сессию и свежих команд там нет. Решение - PROMPT_COMMAND:
2️⃣ Таймстамп у каждой команды. Без времени история малоинформативна.
Формат будет таким:
3️⃣ Увеличение размера истории. По умолчанию хранится около 500 команд и это мало.
Теперь в лимит не упретесь 🙂
4️⃣ Игнорирование мусорных команд. Некоторые команды не несут ценности и только засоряют историю:
Список можно адаптировать под себя.
5️⃣ Команда с пробела - не сохраняется. Иногда нужно выполнить что-то, что не должно попасть в историю. Для этого:
Теперь команда, введенная с пробела, не будет сохранена.
▪️ Применение настроек
▪️ Проверить активные параметры:
Если хотите применить настройки ко всем пользователям, для этого создайте файл, например:
Скрипты оттуда выполняются при запуске shell.
▪️ Поиск по истории
Стандартный способ -
Нажимаете и начинаете вводить команду. Повторное
Я чаще делаю так:
Сразу видно все и можно быстро скопировать нужную строку.
#linux #terminal
🧑💻 NetworkAdmin
На всех linux-серверах, которые необходимо настроить или с которыми предстоит плотно поработать, первым делом стоит задуматься про историю команд. Т.к я часто пользуюсь history, поэтому важно, чтобы команды: сохранялись сразу, хранились долго, были с таймстампами и не засорялись мусором. Обычно добавляю все в
~/.bashrc.1️⃣ Немедленное сохранение истории. По умолчанию bash записывает команды в файл истории только при завершении сессии. Это неудобно: открыл вторую SSH-сессию и свежих команд там нет. Решение - PROMPT_COMMAND:
PROMPT_COMMAND='history -a'
history -a сохраняет команды текущей сессии в файл перед каждым выводом приглашения.2️⃣ Таймстамп у каждой команды. Без времени история малоинформативна.
export HISTTIMEFORMAT='%F %T '
Формат будет таким:
2026-03-31 12:20:30 apt install nginx
3️⃣ Увеличение размера истории. По умолчанию хранится около 500 команд и это мало.
export HISTSIZE=10000
Теперь в лимит не упретесь 🙂
4️⃣ Игнорирование мусорных команд. Некоторые команды не несут ценности и только засоряют историю:
export HISTIGNORE="ls:history:w:htop:pwd:top:iftop"
Список можно адаптировать под себя.
5️⃣ Команда с пробела - не сохраняется. Иногда нужно выполнить что-то, что не должно попасть в историю. Для этого:
export HISTCONTROL=ignorespace
Теперь команда, введенная с пробела, не будет сохранена.
▪️ Применение настроек
source ~/.bashrc
▪️ Проверить активные параметры:
export | grep -i hist
Если хотите применить настройки ко всем пользователям, для этого создайте файл, например:
/etc/profile.d/history.sh
Скрипты оттуда выполняются при запуске shell.
▪️ Поиск по истории
Стандартный способ -
Ctrl + R.Нажимаете и начинаете вводить команду. Повторное
Ctrl + R - следующий результат.Я чаще делаю так:
history | grep 'apt install'
Сразу видно все и можно быстро скопировать нужную строку.
#linux #terminal
🧑💻 NetworkAdmin
- 👍 11



