История команд Bash — полезности для администратора

История команд Bash

В этой статье мы поговорим о команде history, которая позволяет просматривать список ранее выполненных команд, искать по списку и манипулировать файлом истории. Запустить её на выполнение — половина дела. Если Вы — системный администратор, то эти несколько настроек точно пригодятся для управления историей команд в Bash и значительно повысят удобство и эффективность. Погнали!

Записываем введённые команды сразу в файл:

PROMPT_COMMAND='history -a'

Добавляем метку времени к каждой команде. Используем формат: ГГГГ-ММ-ДД ЧЧ:ММ:СС:

export HISTTIMEFORMAT='%F %T '

По умолчанию в Bash хранится всего 500 последних команд.  Давайте увеличим этот лимит до 10 000:

export HISTSIZE=10000

Исключим, при необходимости, простейшие команды вроде ls или pwd. Вот так:

export HISTIGNORE="ls:pwd:history:w:htop:top"

Будьте осторожны и внимательны с HISTIGNORE. К примеру, если команда top была исключена из истории,  то после перезагрузки (командой reboot) вы не сможете повторить её, нажав стрелку вверх. А вот команда reboot будет и можно случайно повторно перезагрузиться.

Наверное каждый пользователь Linux знает, что если перед вводом команды поставить пробел — она не попадёт в историю:

export HISTCONTROL=ignorespace

Прочие аргументы опции HISTCONTROL:
ignoredups — не сохранять строки, совпадающие с последней выполненной командой
ignoreboth — использовать обе опции ‘ignorespace’ и ‘ignoredups’
erasedups — удалять ВСЕ дубликаты команд с истории

После того, как Вы внесли настройки в ~/.bashrc — примените их:

source ~/.bashrc

Во время поиска в истории Вы можете использовать фильтрацию через «grep» или Ctrl+r:

history | grep 'apt install'

Оставьте комментарий