Пользователи Linux ежедневно используют терминал для более удобной и быстрой работы в операционной системы. Для выполнения действий в командной строке нужно вводить определенные команды.
В Linux существует огромное количество различных утилит, которые можно разделить на несколько типов. В этой статье мы расскажем о классификации команд оболочки bash в Linux.
Содержание:
Внешние команды
Внешние команды — это те, которые не встроены в оболочку Linux. Такие утилиты смело можно назвать небольшими отдельными программами, которые расположены в файловой системе. Зачастую, такие команды находятся в каталогах /bin
или /usr/bin
. Также к внешним командам можно отнести и исполняемые файлы.
В Linux переменная $PATH
содержит перечень путей, разделенных двоеточиями, по которым хранятся команды этого типа. Чтобы найти нужную утилиту, ОС ищет исполняемый файл в каталогах в порядке, установленном переменной. Если находит, запускает на выполнение. Если нет — проверяет следующие директории. Чтобы просмотреть текущее значение $PATH
, выполните следующую команду:
Чтобы узнать, какие команды содержатся в директории /bin
, введите команду:
Читайте также: Как установить или изменить переменную среды $PATH в Linux.
К внешним командам можно отнести apt
, awk
, mount
, mkdir
и т. п.
Псевдонимы
Псевдоним (alias
) — это ярлык, ссылающийся на команду. Псевдоним заменяет строку, вызывающую команду в Linux, другой строкой, заданной пользователем. В основном ими пользуются для замены длинных команд, чтобы избежать возможных ошибок во время их написания. Таким образом пользователь повышает эффективность и производительность своей работы. По умолчанию в системе существует несколько автоматически созданных псевдонимов. Чтобы узнать список всех псевдонимов, введите показанную ниже команду:
Давайте разберем один из псевдонимов. Например, alias la='ls -A'
:
alias
— указывает, что команда является псевдонимом;la
— название псевдонима;ls -A
— полная команда, которую заменяют псевдонимом.
Псевдонимы бываю двух видов:
- временные — те, которые будут действовать только в текущей сессии терминала;
- постоянные — те, которыми можно пользоваться на постоянной основе.
Чтобы создать новый временный псевдоним, воспользуйтесь в терминале командой:
Чтобы установить постоянный псевдоним, перейдите в файл ~/.bashrc
и впишите новый в разделе псевдонимов.
Далее сохраните файл. Он будет автоматически загружен при запуске следующего сеанса терминала.
Зарезервированные слова
Зарезервированные слова — это комбинации символов, которые имеют особое значение для оболочки. Они используются для составления больших и сложных команд в терминале. Если Вы знакомы с программированием, то наверняка узнаете некоторые из них:
!
— логическое НЕ;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 с трудоустройством!
- Поможем стать экспертом по сетевой инженерии, кибербезопасности, программируемым сетям и системам и получить международные сертификаты Cisco, Linux LPI, Python Institute.
- Предлагаем проверенную программу с лучшими учебниками от экспертов из Cisco Networking Academy, Linux Professional Institute и Python Institute, помощь сертифицированных инструкторов и личного куратора.
- Поможем с трудоустройством и стартом карьеры в сфере IT — 100% наших выпускников трудоустраиваются.
- Проведем вечерние онлайн-лекции на нашей платформе.
- Согласуем с вами удобное время для практик.
- Если хотите индивидуальный график — обсудим и реализуем.
- Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
- Всем, кто боится потерять мотивацию и не закончить обучение, предложим общение с профессиональным коучем.
- отредактировать или создать с нуля резюме;
- подготовиться к техническим интервью;
- подготовиться к конкурсу на понравившуюся вакансию;
- устроиться на работу в Cisco по специальной программе. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.