Команда type в Linux
typeявляется встроенной командой оболочки в системах Linux/Unix, используемой для отображения информации о типе указанной команды. Она может сообщить вам, является ли команда:
- встроенной командой оболочки
- внешней исполняемой программой
- функцией оболочки
- псевдонимом
Эта команда очень полезна для понимания того, как система определяет и выполняет команды, особенно при возникновении конфликтов команд или когда нужно узнать происхождение команды.
Базовый синтаксис команды type
type [选项] 命令名 [命令名...]
Описание общих опций
| Опция | Описание |
|---|---|
-t |
Отображать только тип команды (краткий вывод) |
-p |
Если это внешняя команда, отобразить её путь |
-P |
Принудительно искать в PATH, даже если команда является встроенной |
-a |
Отобразить все возможные определения (включая alias, builtin, external и т. д.) |
Типы вывода команды type
При использованииtypeкоманды, вы можете увидеть следующие типы вывода:
Псевдоним
$ type ll ll is aliased to `ls -alF'
Встроенная команда (builtin)
$ type cd cd is a shell builtin
Внешняя команда (file)
$ type python python is /usr/bin/python
Функция оболочки
$ type myfunc
myfunc is a function
myfunc ()
{
echo "This is a function"
}
Ключевое слово
$ type if if is a shell keyword
Практические примеры применения
Пример 1: Проверка типа команды
$ type ls ls is aliased to `ls --color=auto'
Пример 2: Просмотр всех возможных определений
$ type -a echo echo is a shell builtin echo is /bin/echo
Пример 3: Отображение только типа команды
$ type -t cd builtin
Пример 4: Поиск пути к внешней команде
$ type -p git /usr/bin/git
Практические сценарии для команды type
Отладка конфликтов команд
Когда существует несколько команд с одинаковым именем (например, встроенная команда и внешняя команда),typeэто может помочь определить, какая из них фактически выполняется.Понимание происхождения команды
При написании сценариев или изучении системы знание того, является ли команда встроенной или внешней, помогает понять её поведение и характеристики производительности.Проверка существования команды
Это позволяет быстро проверить, доступна ли команда, и узнать её расположение.Изучение среды оболочки
Просматривая типы различных команд, вы можете лучше понять, как работает оболочка.
Примечания
typeявляется встроенной командой оболочки; реализации в разных оболочках (bash, zsh, ksh и т. д.) могут немного различаться.- При использовании
-aопция, порядок вывода обычно отражает порядок поиска команд. - Некоторые оболочки могут не поддерживать все опции; вы можете проконсультироваться
help typeчтобы получить конкретную справку.
С помощью этих упражнений вы лучше освоитеtypeпрактическое применение команды.
Энциклопедия команд Linux