Классификация команд оболочки bash в Linux

Классификация команд оболочки bash в Linux

Пользователи Linux ежедневно используют терминал для более удобной и быстрой работы в операционной системы. Для выполнения действий в командной строке нужно вводить определенные команды.

В Linux существует огромное количество различных утилит, которые можно разделить на несколько типов. В этой статье мы расскажем о классификации команд оболочки bash в Linux.

Содержание:

  1. Внешние команды
  2. Псевдонимы
  3. Зарезервированные слова
  4. Функции оболочки
  5. Встроенные команды
  6. Выводы

Внешние команды

Внешние команды — это те, которые не встроены в оболочку Linux. Такие утилиты смело можно назвать небольшими отдельными программами, которые расположены в файловой системе. Зачастую, такие команды находятся в каталогах /bin или /usr/bin. Также к внешним командам можно отнести и исполняемые файлы.

В Linux переменная $PATH содержит перечень путей, разделенных двоеточиями, по которым хранятся команды этого типа. Чтобы найти нужную утилиту, ОС ищет исполняемый файл в каталогах в порядке, установленном переменной. Если находит, запускает на выполнение. Если нет — проверяет следующие директории. Чтобы просмотреть текущее значение $PATH, выполните следующую команду:

 

Чтобы узнать, какие команды содержатся в директории /bin, введите команду:

 

внешние команды

Читайте также: Как установить или изменить переменную среды $PATH в Linux.

К внешним командам можно отнести apt, awk, mount, mkdir и т. п.

Псевдонимы

Псевдоним (alias) — это ярлык, ссылающийся на команду. Псевдоним заменяет строку, вызывающую команду в Linux, другой строкой, заданной пользователем. В основном ими пользуются для замены длинных команд, чтобы избежать возможных ошибок во время их написания. Таким образом пользователь повышает эффективность и производительность своей работы. По умолчанию в системе существует несколько автоматически созданных псевдонимов. Чтобы узнать список всех псевдонимов, введите показанную ниже команду:

 

alias

Давайте разберем один из псевдонимов. Например, alias la='ls -A':

  • alias — указывает, что команда является псевдонимом;
  • la — название псевдонима;
  • ls -A — полная команда, которую заменяют псевдонимом.

Псевдонимы бываю двух видов:

  • временные — те, которые будут действовать только в текущей сессии терминала;
  • постоянные — те, которыми можно пользоваться на постоянной основе.

Чтобы создать новый временный псевдоним, воспользуйтесь в терминале командой:

 

Чтобы установить постоянный псевдоним, перейдите в файл ~/.bashrc и впишите новый в разделе псевдонимов.

alias perm

Далее сохраните файл. Он будет автоматически загружен при запуске следующего сеанса терминала.

Зарезервированные слова

Зарезервированные слова — это комбинации символов, которые имеют особое значение для оболочки. Они используются для составления больших и сложных команд в терминале. Если Вы знакомы с программированием, то наверняка узнаете некоторые из них:

  • ! — логическое НЕ;
  • case, esac — используются для создания многосторонних условных конструкций;
  • coproc — создает со-процесс;
  • do, done — используются для построения циклов;
  • elif — часть конструкции if-else;
  • if, else — составные части конструкции if-else;
  • for, in — используются для создания цикла for;
  • function — объявляет функции в скриптах;
  • fi — указывает на конец внутреннего оператора if;
  • select — генерирует меню из списка элементов;
  • then — используется для разделения условия и команд, которые будут выполнены, если условие окажется истинным;
  • until — используется для создания цикла, который продолжает выполняться до тех пор, пока не будет выполнено определенное условие;
  • while — создает цикл while;
  • {, } — группируют команды вместе и создают командный блок;
  • time — используется для определения времени выполнения команды;
  • [[, ]] — используются для проверки условных выражений.

Чтобы убедиться, что эти слова действительно являются зарезервированными — введите в терминале команду type с этими словами в качестве аргумента:

 

зарезервированные слова

Функции оболочки

Функция — это способ группировки команд для последующего их выполнения. Они выполняются так же, как и обычные команды. Функции активно используются системными администраторами для создания различных скриптов, что, в свою очередь, очень полезно для автоматизации процессов в системе. Написание функций позволяет разбить общую функциональность сценария на подразделы, которые затем могут быть вызваны для выполнения отдельных задач, когда это необходимо.

Структура функции оболочки bash в скрипте выглядит следующим образом:

 

К примеру, создадим скрипт 123.sh, в котором напишем функцию для выполнения команд ls и ls -a. Также с помощью утилиты chmod разрешим выполнение файла для его владельца (u+x)

создание скрипта

Читайте также: Bash-it — управления вашими скриптами и псевдонимами.

Чтобы запустить созданный скрипт, выполним команду:

 

Или:

 

выполнение скрипта

На скриншоте показано, что вместо написания двух разных команд подряд мы запустили скрипт, который выполнил их в указанной последовательности.

Встроенные команды

Встроенные или внутренние команды — это инструменты командной строки, которые содержатся непосредственно в самой оболочке bash. Такие команды Вы не сможете найти в файловой системе, в отличие от внешних. Внутренние команды исполняются быстрее из-за того, что оболочка выполняет команду напрямую, не вызывая другую программу. Встроенные утилиты необходимы для реализации функций, которые невозможно или неудобно получать с помощью отдельных инструментов.

Эти команды довольно-таки популярны среди обычных пользователей. Самые известные:

  • pwd — выводит на экран название текущего каталога;
  • cd — позволяет переходить между каталогами;
  • echo — выводит на экран заданную строку текста.

Чтобы вывести на экран все встроенные в оболочку команды, введите в терминале:

 

Чтобы выяснить, является ли команда внутренней, используйте утилиту type с ее названием в качестве аргумента. В результате Вы должны получить сообщение — <command> is a shell builtin. К примеру:

 

встроенные команды

Выводы

Вот и все! Мы выяснили какие существуют типы команд оболочки bash. Понимание классификации команд особенно полезно для новичков, которые только начали изучение основ администрирования операционной системы GNU / Linux. Также это может быть интересно опытным пользователям, которым нужно обновить свои знания теории.

Спасибо за время, уделенное прочтению статьи!

Если возникли вопросы — задавайте их в комментариях.

Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!

Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Ciscoкурсы по кибербезопасностиполный курс по кибербезопасностикурсы DevNet / DevOps (программируемые системы) от Академии Ciscoкурсы Linux от Linux Professional Institute на платформе SEDICOMM University (Университет СЭДИКОММ).

Курсы Cisco, Linux, кибербезопасность, DevOps / DevNet, Python с трудоустройством!

Спешите подать заявку! Группы стартуют 25 января, 26 февраля, 22 марта, 26 апреля, 24 мая, 21 июня, 26 июля, 23 августа, 20 сентября, 25 октября, 22 ноября, 20 декабря.
Что Вы получите?
  • Поможем стать экспертом по сетевой инженерии, кибербезопасности, программируемым сетям и системам и получить международные сертификаты Cisco, Linux LPI, Python Institute.
  • Предлагаем проверенную программу с лучшими учебниками от экспертов из Cisco Networking Academy, Linux Professional Institute и Python Institute, помощь сертифицированных инструкторов и личного куратора.
  • Поможем с трудоустройством и стартом карьеры в сфере IT — 100% наших выпускников трудоустраиваются.
Как проходит обучение?
  • Проведем вечерние онлайн-лекции на нашей платформе.
  • Согласуем с вами удобное время для практик.
  • Если хотите индивидуальный график — обсудим и реализуем.
  • Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
  • Всем, кто боится потерять мотивацию и не закончить обучение, предложим общение с профессиональным коучем.
А еще поможем Вам:
  • отредактировать или создать с нуля резюме;
  • подготовиться к техническим интервью;
  • подготовиться к конкурсу на понравившуюся вакансию;
  • устроиться на работу в Cisco по специальной программе. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.
Чтобы учиться на курсах Cisco, Linux LPI, кибербезопасность, DevOps / DevNet, Python, подайте заявку или получите бесплатную консультацию.

Больше похожих постов

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Заполните поле
Заполните поле
Пожалуйста, введите корректный адрес email.
Вы должны согласиться с условиями для продолжения


Поиск по сайту
Лучшее
Популярное
Рубрики

Свежие комментарии

Меню