Справочник системных ошибок и решений

Windows Server, Active Directory, 1С:Предприятие, СУБД, Linux, Cisco, MikroTik, Asterisk.

⚠️ Важная информация Все материалы, инструкции, команды и скрипты на сайте предоставлены исключительно в ознакомительных целях. Их применение может повлиять на работу операционной системы, программного обеспечения, баз данных, сетевого оборудования и других компонентов инфраструктуры. Перед выполнением действий создайте резервную копию и по возможности протестируйте изменения в безопасной среде. Пользователь самостоятельно оценивает риски и несет ответственность за результат. При отсутствии необходимых знаний обратитесь к квалифицированному ИТ-специалисту.

Linux / DevOps

Где установлена программа в Linux: команды which, whereis, type

Обновлено: 27.08.2026 · Официальная документация ↗

Куда Linux установил программу?

В отличие от Windows, где все файлы программы обычно лежат в одной папке C:\Program Files\, в операционных системах Linux компоненты приложения разносятся по системным каталогам: исполняемые файлы попадают в /usr/bin/, конфигурации — в /etc/, а мануалы — в /usr/share/man/. Когда нужно прописать точный путь к утилите в cron или systemd, необходимо точно знать её физическое расположение.

3 главные команды для поиска программ в Linux

  1. Команда which — путь к исполняемому файлу из переменной PATH:
    which nginx
    which php
    which python3

    Вывод покажет точный бинарный файл, который запускается при вводе команды (например, /usr/bin/python3).

  2. Команда whereis — полный поиск исполняемых файлов, исходников и мануалов:
    whereis nginx

    Пример вывода: nginx: /usr/sbin/nginx /etc/nginx /usr/share/nginx /usr/share/man/man8/nginx.8.gz.

  3. Команда type — показывает, чем именно является команда:
    type -a ls
    type -a cd

    Утилита type полезна тем, что подсказывает: является ли команда внешним бинарником, алиасом (alias) или встроенной функцией оболочки Bash (shell builtin).

Совет для Cron: Задачи в планировщике crontab часто не имеют стандартного окружения PATH, поэтому всегда прописывайте полный путь к интерпретаторам, найденный через which php (например: * * * * * /usr/bin/php /var/www/script.php).

💡 Практика специалистов: Если на сервере установлено несколько версий Python или PHP (например, PHP 7.4 и 8.2), используйте `whereis php` или `update-alternatives --display php`, чтобы точно определить активную системную версию.

Частые вопросы (FAQ)

Почему which не находит команду cd?

Команда `cd` — это встроенная внутренняя инструкция командной оболочки Bash (shell builtin), у нее нет отдельного исполняемого файла на диске.

В каких папках система ищет исполняемые файлы?

Список этих каталогов хранится в системной переменной `PATH`. Посмотреть их можно командой `echo $PATH` (обычно это `/usr/local/bin`, `/usr/bin`, `/bin`, `/usr/sbin`).

Что делать, если which не находит установленный скрипт?

Вероятно, директория с вашим скриптом не добавлена в переменную `$PATH`, либо у файла отсутствуют права на исполнение (`chmod +x script.sh`).

Как найти путь к установленной утилите через find?

Используйте поиск по системным бинарным папкам: `sudo find /usr/bin /usr/sbin /usr/local/bin -name "имя_программы"`.

Полезные материалы
Рекомендуем