Команды Linux являются неотъемлемой частью управления и эксплуатации Linux-систем, предоставляя пользователям возможность выполнять широкий спектр задач – от работы с файлами до мониторинга системы.
Эти команды можно разделить на два типа: внутренние и внешние.
Внутренние команды встроены в саму оболочку, что позволяет быстро выполнять их без использования внешних двоичных файлов.
В отличие от них, внешние команды представляют собой отдельные исполняемые файлы, расположенные в файловой иерархии системы.
Понимание различий между этими командами, а также умение их определять и эффективно использовать может значительно повысить эффективность и мастерство пользователя в навигации и управлении средой Linux.
Внутренние и внешние команды Linux
Команды Linux – незаменимые инструменты как для системных администраторов, так и для разработчиков.
Эти команды можно разделить на два основных типа: внутренние и внешние.
Внутренние команды встроены в саму оболочку, то есть для их выполнения не требуется внешний исполняемый файл.
Внешние команды, с другой стороны, представляют собой исполняемые файлы, хранящиеся в файловой системе.
Понимание разницы между этими двумя типами команд очень важно для эффективного управления системой и устранения неполадок.
Внутренние команды обычно выполняются быстрее, поскольку они выполняются непосредственно оболочкой, в то время как внешние команды могут быть более накладными, поскольку оболочке необходимо найти и выполнить соответствующий файл.
Определение внутренних и внешних команд
Чтобы определить, является ли команда внутренней или внешней, можно использовать команду type.
Команда type предоставляет информацию о том, как интерпретируется имя команды. Вот как ее можно использовать:
type command_name
Например:
$ type cd
В результате будет выведено: cd is a shell builtin
.
Указывает, что cd – это внутренняя команда.
$ type ls
В результате будет выведено: ls hashed (/usr/bin/ls).
Указывает, что ls – это внешняя команда, расположенная в каталоге /bin.
Внутренняя команда Пример: cd:
Команда cd используется для смены текущего каталога.
Это внутренняя команда, поскольку она встроена в оболочку.
$ cd /home/user
В этом примере команда cd изменяет текущий каталог на /home/user.
Поскольку это внутренняя команда, она быстро выполняется оболочкой без необходимости искать внешний исполняемый файл.
Внешняя команда Пример: ls:
Команда ls выводит список содержимого каталога.
Это внешняя команда, поскольку она представляет собой исполняемый файл, расположенный в файловой системе.
$ ls -l /home/user
В этом примере команда ls перечисляет содержимое каталога /home/user в длинном формате.
Оболочка находит исполняемый файл ls в каталогах, перечисленных в переменной окружения PATH, и запускает его.
Топ 5 внутренних команд
Команда | Описание |
---|---|
cd | Изменяет текущий каталог. |
echo | Отображает строку текста или значение переменной. |
exit | Выход из текущей сессии оболочки. |
pwd | Выводит текущий рабочий каталог. |
alias | Создает алиас для команды. |
Топ 5 внешних команд
Команда | Описание |
---|---|
ls | Перечисляет содержимое каталога. |
grep | Поиск шаблонов в файлах. |
find | Поиск файлов в иерархии каталогов. |
cp | Копирует файлы и каталоги. |
mv | Перемещение или переименование файлов и каталогов. |
Заключение
Понимание различий между внутренними и внешними командами оболочки Linux может повысить вашу эффективность при работе с командной строкой.
Внутренние команды встроены в оболочку и обычно выполняются быстрее, в то время как внешние команды представляют собой отдельные исполняемые файлы.
Понимание того, является ли команда внутренней или внешней, помогает в устранении неполадок и оптимизации работы скриптов.
см. также:
- 🐧 Работа с переменной PATH на Linux. Это совсем не сложно.
- Как добавить путь к каталогу в переменную $PATH
- 🐧 Как показать ход выполнения команды dd
- 🐧 Как отобразить весь вывод systemctl