Александр Бутов
02.11.2019
29939

Утилита History обзор и настройка

Утилита History сохраняет все ваши команды и запросы введённые в консоли, это очень удобный инструмент в котором вы можете посмотреть все введённые вами или другим человеком на этом компьютере команды. В большинстве дистрибутивов она включена из коробки. Вызывается она просто командой history из консоли По умолчанию отображается только номер строки, соответствующий команде. Можно добавить и […]

Утилита History сохраняет все ваши команды и запросы введённые в консоли, это очень удобный инструмент в котором вы можете посмотреть все введённые вами или другим человеком на этом компьютере команды. В большинстве дистрибутивов она включена из коробки.
Вызывается она просто командой history из консоли

По умолчанию отображается только номер строки, соответствующий команде.

Можно добавить и дату исполнения.

Данное руководство актуально для CentOS 6.9

Все настройки утилиты хранятся в файле .bashrc
Зайдём в него используя текстовый редактор, в нашем случае nano

Так он выглядит по умолчанию :

Для того чтобы добавить отображение даты и времени, дописываем следующую строчку в этот файл

export HISTTIMEFORMAT="%h %d %H:%M:%S "

сохраняем файл и применяем настройки командой

source .bashrc

Теперь вывод будет выглядеть  следующим образом:

Это уже намного удобнее.

History по умолчанию записывает команды в файл .bash_history и хранит там 500 записей
этот лимит можно повысить добавив строчку в конфигурационный файл
увеличим лимит до 5000

сохраняем файл и не забываем выполнить команду
source .bashrc

Так же можно контролировать какие команды будут сохранятся в .bashrc
например можно сделать так чтобы команды начинающиеся с пробела не сохранялись в историю
сначала посмотрим на стандартное поведение:

Как видим сейчас сохраняются все команды, а теперь добавим следующую строчку в конфигурационный файл:   export HISTCONTROL=ignorespace

Сохраняем файл и применяем настройки
Теперь введём несколько команд с пробелом и без него и у видим что команды с пробелом не отображаются в истории

Так же эта переменная может содержать другие значения а именно:
ignoredups      не сохранять строки, совпадающие с последней выполненной командой

ignoreboth      использовать обе опции ‘ignorespace’ и ‘ignoredups’

erasedups       удалять ВСЕ дубликаты команд с истории
Если нужно несколько опций они записываются через :
пример

export HISTCONTROL=ignorespace:erasedups

Так же можно настроить игнорирование некоторых команд
для этого используется опция HISTIGNORE
например отключим отображение команды htop
для этого в файл конфигурации приводим к следующему виду

и получаем следующий результат:

команды которые нужно игнорировать можно записывать через :

Так же можно игнорировать целые маски команд , например так выглядит конфиг для того чтобы игнорировать всё что начинается на if

можно написать !(номер строки в History) и таким образом исполнить команду соответствующую нужной нам строчке в истории

в заключении хочется упомянуть возможность работать с выводом утилиты с помощью стандартных команд CentOS
таких как grep

Команда grep, одна из самых известных и употребительных команд Юниксовидных ОС, ведет свое начало от первого текстового редактора Юникс – ed. В этом редакторе была команда g/re/p (global/regular expression/print), которая и дала свое название новой программе. Команда grep служит для поиска строк, содержащих заданный пользователем образец.

На этом знакомство с программой можно заканчивать.

 
avatar
  Подписаться  
Уведомление о

Остались вопросы?

Я - Першин Артём, менеджер компании Voxlink. Хотите уточнить детали или готовы оставить заявку? Укажите номер телефона, я перезвоню в течение 3-х секунд.

VoIP оборудование

ближайшие курсы

ближайшие Вебинары

ONLINE

Why Choose HUGE?

Unlimited pre-designed elements

Each and every design element is designed for retina ready display on all kind of devices

User friendly interface and design

Each and every design element is designed for retina ready display on all kind of devices

100% editable layered PSD files

Each and every design element is designed for retina ready display on all kind of devices

Created using shape layers

Each and every design element is designed for retina ready display on all kind of devices