Введение
В этом практическом занятии (лабораторной работе) вы научитесь определять, доступна ли команда в Linux и где она расположена. Вы рассмотрите три различных метода: использование команды which для нахождения пути к исполняемому файлу, использование command -v для проверки наличия команды и определения встроенных команд или псевдонимов, а также использование команды type для проверки типа команды.
Выполнив эти шаги, вы приобретете практические навыки идентификации и нахождения команд в своей среде Linux, что является важным аспектом эффективного использования командной строки и устранения неполадок.
Определение пути к команде с помощью which
На этом этапе вы научитесь находить расположение команды в своей системе с использованием команды which. Когда вы вводите команду в терминал, системе нужно знать, где находится исполняемый файл для этой команды. Команда which помогает вам найти этот путь.
Давайте найдем путь к команде echo, которую вы использовали в предыдущей лабораторной работе (практическом занятии).
Введите следующую команду в терминал и нажмите Enter:
which echo
Вы должны увидеть вывод, похожий на следующий:
/usr/bin/echo
Этот вывод говорит вам, что исполняемый файл echo находится в каталоге /usr/bin/. /usr/bin - это распространенный каталог для хранения исполняемых программ, доступных для всех пользователей.
Теперь давайте попробуем найти путь к команде htop, которую вы установили.
Введите следующую команду и нажмите Enter:
which htop
Вывод должен быть похожим на:
/usr/bin/htop
Это подтверждает, что htop также находится в каталоге /usr/bin/.
Команда which очень полезна, когда вам нужно точно знать, какую версию команды выполняется, особенно если вы установили несколько версий или если команда расположена в менее распространенном каталоге.
Проверка наличия команды с помощью command -v
На этом этапе вы научитесь еще одному способу проверять существование и расположение команды с использованием command -v. Это похоже на which, но он также может сообщить вам, является ли команда встроенной командой оболочки (shell) или псевдонимом (alias), а не только исполняемым файлом.
Давайте используем command -v для проверки команды echo.
Введите следующую команду в терминал и нажмите Enter:
command -v echo
Вы должны увидеть вывод, похожий на следующий:
echo
В этом случае command -v сообщает нам, что echo является встроенной командой оболочки. Встроенные команды являются частью самой оболочки, а не отдельными исполняемыми файлами.
Теперь давайте проверим команду htop с помощью command -v.
Введите следующую команду и нажмите Enter:
command -v htop
Вывод должен быть похожим на:
/usr/bin/htop
Здесь command -v дает нам полный путь к исполняемому файлу htop, как и which. Это показывает, что htop является внешней командой (исполняемым файлом), а не встроенной командой оболочки.
Использование command -v - это надежный способ определить, как оболочка будет интерпретировать имя команды. Это особенно полезно для различения между псевдонимами, встроенными командами и внешними исполняемыми файлами.
Проверка типа команды с использованием команды type
На этом этапе вы будете использовать команду type для получения описания того, как оболочка (shell) интерпретирует имя команды. Команда type предоставляет более подробную информацию, чем command -v, и может сообщить, является ли команда псевдонимом (alias), ключевым словом (keyword), функцией, встроенной командой или файлом.
Давайте используем type для проверки команды echo.
Введите следующую команду в терминал и нажмите Enter:
type echo
Вы должны увидеть вывод, похожий на следующий:
echo is a shell builtin
Этот вывод четко указывает, что echo является встроенной командой оболочки.
Теперь давайте проверим команду htop с помощью type.
Введите следующую команду и нажмите Enter:
type htop
Вывод должен быть похожим на:
htop is /usr/bin/htop
Здесь type сообщает нам, что htop находится по адресу /usr/bin/htop, что означает, что это исполняемый файл.
Давайте попробуем еще один пример с командой, которая может быть псевдонимом. Псевдонимы - это сокращения для более длинных команд. Хотя в этой среде, возможно, не настроен стандартный псевдоним, давайте посмотрим, что говорит type о такой распространенной команде, как ls.
Введите следующую команду и нажмите Enter:
type ls
Вывод может отличаться в зависимости от конфигурации оболочки, но, скорее всего, будет показано что-то вроде:
ls is an alias for ls --color=auto
Это показывает, что ls - это псевдоним, который автоматически добавляет цвета к выводу.
Команда type - это мощный инструмент для понимания того, как ваша оболочка разрешает имена команд, и может быть очень полезна для отладки скриптов или понимания поведения команд.
Резюме
В этом практическом занятии (lab) вы научились проверять, доступна ли команда в Linux, а также определять ее тип и местоположение. Сначала вы использовали команду which для поиска полного пути исполняемых команд, таких как echo и htop, тем самым показав, как найти местонахождение бинарного файла команды в системе, обычно в директориях, таких как /usr/bin.
Затем вы изучили утилиту command -v, которая обеспечивает более комплексную проверку. Эта команда не только указывает местоположение исполняемых файлов, но и определяет, является ли команда встроенной командой оболочки (shell), как это было показано на примере команды echo. Это различие важно для понимания того, как оболочка обрабатывает разные типы команд.



