Внутренние и внешние команды оболочки Linux
Команды Linux являются неотъемлемой частью управления и эксплуатации систем Linux, предоставляя пользователям возможность выполнять широкий спектр задач от работы с файлами до мониторинга системы. Эти команды можно разделить на два типа: внутренние и внешние. Внутренние команды встроены в саму оболочку, что обеспечивает быстрое выполнение без необходимости использования внешних двоичных файлов. В отличие от них, внешние команды представляют собой отдельные исполняемые файлы, расположенные в иерархии файлов системы. Понимание различий между этими командами, а также умение их идентифицировать и эффективно использовать может значительно повысить эффективность и квалификацию пользователя в навигации и управлении средой Linux.
В этом уроке вы узнаете:
- Что такое внутренние команды оболочки Linux
- Что такое внешние команды оболочки Linux
- Примеры обоих типов команд
- Как определить, является ли команда внутренней или внешней
Внутренние и внешние команды оболочки Linux
Команды Linux являются важными инструментами как для системных администраторов, так и для разработчиков. Эти команды можно разделить на два основных типа: внутренние и внешние. Внутренние команды встроены в саму оболочку, то есть для их запуска не требуется внешний исполняемый файл. Внешние команды, с другой стороны, представляют собой исполняемые файлы, хранящиеся в файловой системе.
Понимание разницы между этими двумя типами команд имеет решающее значение для эффективного управления системой и устранения неполадок. Внутренние команды обычно выполняются быстрее, поскольку они выполняются непосредственно оболочкой, в то время как внешние команды могут потребовать больших накладных расходов, поскольку оболочке необходимо найти и выполнить соответствующий файл.
Идентификация внутренних и внешних команд
Чтобы определить, является ли команда внутренней или внешней, можно использовать команду type
. Команда type
предоставляет информацию о том, как интерпретируется имя команды. Вот как вы можете его использовать:
type command_name
Например:
type cd
Это выведет: cd - это встроенная оболочка
. Указание на то, что cd
является внутренней командой.
type ls
Это выведет: ls хешируется (/usr/bin/ls)
. Указание на то, что ls
является внешней командой, расположенной в каталоге /bin
.
Пример внутренней команды: cd: Команда
cd
используется для изменения текущего каталога. Это внутренняя команда, потому что она встроена в оболочку.cd /home/user
Пример внешней команды: ls: Команда
ls
перечисляет содержимое каталога. Это внешняя команда, потому что это исполняемый файл, расположенный в файловой системе.ls -l /home/user
В этом примере команда cd
изменяет текущий каталог на /home/user
. Поскольку это внутренняя команда, она быстро выполняется оболочкой без необходимости поиска внешнего исполняемого файла.
В этом примере команда ls
выводит список содержимого каталога /home/user
в длинном формате. Оболочка находит исполняемый файл ls
в директориях, перечисленных в переменной окружения PATH
, и запускает его.
Топ-5 внутренних команд
Топ-5 внешних команд
Заключение
Понимание различий между внутренними и внешними командами оболочки Linux может повысить эффективность использования командной строки. Внутренние команды встроены в оболочку и обычно выполняются быстрее, в то время как внешние команды представляют собой отдельные исполняемые файлы. Распознавание того, является ли команда внутренней или внешней, помогает в устранении неполадок и оптимизации производительности скриптов.