Как использовать команду типа Linux
Узнайте, разрешается ли команда псевдонимом, файлом на диске, функцией оболочки, встроенной командой или зарезервированным словом. Используйте type
, чтобы узнать, как выполняются ваши команды Linux, и лучше понять вашу систему.
Делай мои ставки
Когда мы открываем окно терминала и начинаем вводить команды на наш компьютер с Linux, мы редко останавливаемся, чтобы подумать, какие программные компоненты в операционной системе реагируют на наши команды и выполняют их для нас. Мы вводим команду, получаем результат и идем дальше с нашей рабочей нагрузкой.
Зная, как выполняются команды, мы лучше понимаем, как устроена наша Linux или другая Unix-подобная операционная система. Заглянув под капот, мы можем стать более информированным водителем.
Инструкции, которые мы выдаем в командную строку, относятся к одной из следующих категорий:
- Псевдоним: определяемая пользователем (или системой) команда, которая вызывает выполнение других, обычно многословных или сложных последовательностей команд.
- Файл на диске: двоичный исполняемый файл, например
/usr/bin/top
. - Функция оболочки. Пользовательская (или системная) функция, которую можно использовать в командной строке или включать в скрипты.
- Встроенная команда: команда, выполняемая самой оболочкой, например
pwd
. - Зарезервировано слово: слово, зарезервированное оболочкой, такое как
if
иelif
. Их также называют ключевыми словами.
Команда type
сообщает нам, к какой категории относится любая из команд Linux. Вот краткое руководство по пониманию вывода команды.
Команда типа
Давайте рассмотрим несколько быстрых примеров для каждой из категорий команд.
type date
Команда date
представляет собой исполняемый файл на диске.
type ls
Команда ls
является псевдонимом, обертывающим базовую команду ls
для использования параметра --color=auto
по умолчанию.
type lowdown
Команда lowdown
— это определяемая пользователем функция, которая была настроена для пассажира, который использовался для исследования этой статьи. Он обеспечивает быстрый снимок некоторых системных ресурсов. Это комбинация whoami
, w
, free
и df
.
type pwd
Команда pwd
— это встроенная команда оболочки Bash.
type elif
Команда elif
является зарезервированным словом оболочки Bash.
Использование нескольких команд
Вы можете указать type
несколько команд для одновременной идентификации.
type date top ls
Опция -t
Ни один из параметров, которые type
примет, не имеет имен. Так что мы можем достать нашу книгу имен и окрестить их сами. Если вы думаете, что параметр -t
означает «краткий», вы не сильно ошибетесь. Он сокращает ответы от type
до ответов, состоящих из одного слова.
type -t date
type -t pwd
type -t lowdown
Опция -a
Назовем этот вариант «все». В нем перечислены все местоположения, в которых находится команда. Обратите внимание, что этот параметр не будет работать, если вы также используете параметр -p
.
Например, если у вас есть псевдоним с тем же именем, что и у базовой команды, вы можете получить информацию о псевдониме и команде.
type -a ls
Опция -f
Опция -f
заставляет type
не искать пользовательские или системные функции. Воспринимайте эту опцию как «функция поиска отключена». Обратите внимание: если команда является функцией, type
сообщит, что команда не может быть найдена.
type -f top
type -f lowdown
Опция -P
Если вы используете параметр -P
, type
будет выполнять поиск только в каталогах, указанных в PATH. Поэтому мы можем назвать эту опцию «путь». Обратите внимание, что в этом параметре используется заглавная буква «P».
type -P date chmod adduser
Параметр -p
Если вы используете параметр -p
, type
отвечает только в том случае, если команда представляет собой файл на жестком диске. Обратите внимание, что в этом параметре используется строчная буква «p».
type -p mount
type -p ls
type -p -a ls
type
не дает никакого ответа для ls
, поскольку ls
является псевдонимом, а не файлом на диске.
Но если мы включим параметр -a
, чтобы type
искал все экземпляры команды ls
, он перечисляет базовый файл на диске, который ls
использует псевдоним.
Краткое содержание
Это было красиво и просто, но все равно освещало.
Мы склонны думать обо всем, что набираем в окне терминала, как о «команде», и на этом останавливаемся. Но на самом деле команды в системе Linux реализованы по-разному. А type
позволяет узнать, какой именно.
Linux Commands | ||
Files | tar · pv · cat · tac · chmod · grep · diff · sed · ar · man · pushd · popd · fsck · testdisk · seq · fd · pandoc · cd · $PATH · awk · join · jq · fold · uniq · journalctl · tail · stat · ls · fstab · echo · less · chgrp · chown · rev · look · strings · type · rename · zip · unzip · mount · umount · install · fdisk · mkfs · rm · rmdir · rsync · df · gpg · vi · nano · mkdir · du · ln · patch · convert · rclone · shred · srm · scp · gzip · chattr · cut · find · umask · wc | |
Processes | alias · screen · top · nice · renice · progress · strace · systemd · tmux · chsh · history · at · batch · free · which · dmesg · chfn · usermod · ps · chroot · xargs · tty · pinky · lsof · vmstat · timeout · wall · yes · kill · sleep · sudo · su · time · groupadd · usermod · groups · lshw · shutdown · reboot · halt · poweroff · passwd · lscpu · crontab · date · bg · fg · pidof · nohup · pmap | |
Networking | netstat · ping · traceroute · ip · ss · whois · fail2ban · bmon · dig · finger · nmap · ftp · curl · wget · who · whoami · w · iptables · ssh-keygen · ufw · arping · firewalld |
RELATED: Best Linux Laptops for Developers and Enthusiasts