Что такое встроенные команды оболочки и как их идентифицировать?

В Linux несколько команд загружаются в память всякий раз, когда пользователь запускает оболочку. Эти команды являются частью оболочки, также известной как встроенные команды оболочки.

В этой статье мы подробно обсудим встроенные команды оболочки, а также руководство о том, как вы можете проверить, является ли команда Linux встроенной в оболочку.

Что такое встроенные оболочки?

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

Типичным примером во многих современных оболочках является команда cd для смены каталогов. Поскольку вы будете использовать эту команду много раз за один сеанс, имеет смысл загрузить ее в память для более быстрого выполнения.

По теме: более быстрая оперативная память или больше оперативной памяти: что лучше для производительности?

Как определить встроенную команду оболочки?

Чтобы определить, является ли команда обычной командой или встроенной оболочкой, используйте команду type . Базовый синтаксис для проверки того, является ли команда Linux встроенной оболочкой:

 type -t commandname

… где commandname – это имя команды, которую вы хотите проверить.

Например, чтобы проверить, является ли команда cd встроенной оболочкой:

 type -t cd

Выход:

 builtin

Если в выходных данных отображается что-либо, кроме встроенного , например файл или псевдоним , то эта команда не является встроенной командой оболочки.

В Bash вы также можете использовать команду -v, чтобы определить, является ли команда встроенной оболочкой. В выводе будет отображаться имя команды, если она является встроенной. Например, чтобы проверить, является ли команда cd встроенной оболочкой:

 command -v cd

В качестве альтернативы вы также можете использовать команду which . Эта команда сообщит вам абсолютный путь к команде, встроенную оболочку или псевдоним. Команда which может быть встроенной оболочкой в ​​зависимости от используемой оболочки.

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

Поскольку разные оболочки имеют разные встроенные функции, общая утилита, которая может быть встроенной оболочкой, также может существовать в системе как отдельный исполняемый файл. Если вы хотите использовать обычную команду, просто используйте ее абсолютный путь.

Теперь вы знаете разницу между обычными командами и встроенными командами оболочки

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

Разные оболочки имеют разные функции и, следовательно, разные встроенные функции. Выбор правильной оболочки – это вопрос того, какие функции важны для вас.