Linux CMD_NFСредняя

Ошибка «command not found» в Linux: причины и решения

Ошибка «command not found» возникает, когда система не может найти исполняемый файл команды. Чаще всего это происходит из-за отсутствия пакета, неправильного PATH или опечатки в названии команды.

Обновлено 13 февраля 2026 г.
15-45 мин
Низкая
FixPedia Team
Применимо к:UbuntuDebianCentOSFedora

Ошибка «command not found» в Linux

Ошибка «bash: command not found: команда» (или «zsh: command not found: команда» в Zsh) — одна из наиболее распространённых проблем в Linux-терминале. Она означает, что оболочка не смогла найти исполняемый файл указанной команды в системных путях.

Причины возникновения ошибки

Существует несколько основных причин появления ошибки command not found:

  1. Команда не установлена — необходимый пакет просто не установлен в системе
  2. Неправильный PATH — директория с командой не добавлена в переменную окружения PATH
  3. Опечатка в названии — команда введена с ошибкой или неверным регистром
  4. Отсутствие прав на выполнение — файл существует, но не имеет атрибута исполнения

Диагностика ошибки

1. Проверьте правильность написания

# Пример опечатки
$ pyton --version
bash: pyton: command not found

# Правильный вариант
$ python3 --version
Python 3.10.12

2. Проверьте переменную PATH

echo $PATH

Типичный вывод:

/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games

Если нужная директория отсутствует, добавьте её:

# Временное добавление (действует до закрытия терминала)
export PATH=$PATH:/usr/local/myprogram/bin

# Постоянное добавление (для текущего пользователя)
echo 'export PATH=$PATH:/usr/local/myprogram/bin' >> ~/.bashrc
source ~/.bashrc

3. Найдите местоположение команды

# Поиск команды в PATH
which python3
# Вывод: /usr/bin/python3

# Поиск всех файлов, связанных с командой
whereis python3
# Вывод: python3: /usr/bin/python3 /usr/bin/python3.10

# Показать тип команды (встроенная, алиас, функция)
type python3

4. Проверьте, установлен ли пакет

# Для Debian/Ubuntu
dpkg -l | grep <название_пакета>
apt list --installed | grep <название_пакета>

# Для CentOS/Fedora/RHEL
rpm -qa | grep <название_пакета>
dnf list installed | grep <название_пакета>

Решения

Установка отсутствующих команд

Ubuntu/Debian

sudo apt update
sudo apt install <название_пакета>

# Пример: установка curl
sudo apt install curl

CentOS/RHEL

sudo yum install <название_пакета>
# или
sudo dnf install <название_пакета>

Arch Linux

sudo pacman -S <название_пакета>

Часто встречающиеся команды

КомандаПакет (Debian/Ubuntu)Пакет (CentOS)
curlcurlcurl
wgetwgetwget
gitgitgit
nanonanonano
vimvimvim
python3python3python3

Профилактика

  1. Регулярно обновляйте систему — это обеспечивает наличие актуальных версий пакетов
  2. Используйте автодополнение — нажмите Tab для автоматического завершения команды
  3. Проверяйте документацию — перед установкой нового ПО изучите зависимости
  4. Создавайте алиасы — для часто используемых команд с длинными путями

Заключение

Ошибка command not found редко является серьёзной проблемой и обычно легко устраняется установкой соответствующего пакета или исправлением переменной PATH. Следуя описанным выше шагам диагностики, вы быстро найдёте и устраните причину ошибки.

Если проблема сохраняется после выполнения всех рекомендаций, проверьте журналы системы или обратитесь к документации конкретного дистрибутива Linux.

Часто задаваемые вопросы

Почему команда работает от root, но не работает от обычного пользователя?
Как найти, где установлена программа?
Команда была вчера, а сегодня нет — что могло измениться?

Полезное

Проверьте правильность написания команды
Проверьте переменную PATH
Установите отсутствующий пакет
Найдите местоположение команды