В этой статье мы поговорим о команде 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"
Наверное каждый пользователь Linux знает, что если перед вводом команды поставить пробел — она не попадёт в историю:
export HISTCONTROL=ignorespace
После того, как Вы внесли настройки в ~/.bashrc — примените их:
source ~/.bashrc
Во время поиска в истории Вы можете использовать фильтрацию через «grep» или Ctrl+r:
history | grep 'apt install'The post История команд Bash — полезности для администратора first appeared on Как настроить?.]]>
Полезный лайфхак для тех, часто пишет свои bash-скрипты и, особенно, кто только начинает это делать. Ведь если скрипт не работает, то порой сложно определить на каком шаге происходит сбой. Особенно если код скрипта объёмный, то совсем труба. И вот тут есть волшебная строчка! Её нужно добавить после #!/bin/bash и тогда bash-скрипт можно будет отлаживать по шагам.
Вот пример листинга простейшего bash-скрипта с пошаговой отладкой:
Используемые директивы:
Запускаем скрипт. Перед выполнением каждой команды выведено то, что будет исполняться, после чего интерпретатор начинает ожидать нажатия клавиши «Enter»(Ввод).
Если мы приходим к выводу, что на каком-то этапе что-то пошло не по сценарию и выполняется не так, как нужно — нажимаем Ctrl+C и таким образом выходим из отладки.
The post Пошаговая отладка Bash-скриптов first appeared on Как настроить?.]]>Работа в консоли операционных систем семейства Linux сопряжена с частым вводом одних и тех же команд. Само собой, каждый пользователь со временем задумывается как бы оптимизировать свою работу. Для этой цели и существуют алиасы — aliases. Команда alias — это встроенная директива интерпретаторов командной строки (bash, zsh и пр.), позволяющая определять имена для команд, и их последовательностей. Т.е. алиас даёт возможность не набирать часто используемую команду с большим количеством параметров, а просто сделать для него как бы псевдоним(или ярлык) и в дальнейшем набирать уже этот псевдоним.
Например для вот такой команды:
$ find . | grep *.mp3
Можно сделать вот такой алиас:
$ alias fimp3=»find . | grep *.mp3″
И далее при вводе команды
$ fimp3
будет выполняться команда:
find . | grep *.mp3
И таких сокращений можно делать сколько угодно.
Если же Вам надо отменить алиас — вводим команду:
$ unalias fimp3
Одна проблема, после перезагрузки операционной системы алиасы надо будет вводить заново. Но и тут есть выход.
Все псевдонимы для интерпретатора bash хранятся в /home/user/.bashrc или /home/user/.bash_aliases в зависимости от системы. Если у вас zsh, то там алиасы будут в файле ~/.zshrc
Переходим в пользовательский каталог /home/user
$ cd ~/
Открываем файл .bashrc и вводим туда все нужные нам псевдонимы:
$ vi /home/user.bashrc
Перезагружаемся. Теперь алиасы будут работать постоянно.
Если Вы работаете в нескольких командных интерпретаторах, то Вам придется либо для каждого вбивать алиасы, либо сделать так:
создаем файли ~/.alias:
$ touch ~/.alias
Вносим в него все наши алиасы. Затем прописываем его в ~/.bashrc, ~/.zshrc и т.п. такой строкой:
. $HOME/.alias #
Между точкой и $ обязательно должен быть пробел.
Сохраняем файл и перезагружаемся.
После этого один и тот же набор илиасов будет доступен во всех командных оболочках.