Ошибки

Ошибка «sudo: command not found»: sudo не нашёл программу

sudo не нашёл программу с таким именем. Проверьте написание, установлена ли программа, и не встроенная ли это команда оболочки вроде cd.

Обновлено 09.10.2026≈ 4 мин чтения
Содержание 10

Что сделать прямо сейчас

  1. Проверьте, нет ли опечатки в имени программы, — шаг 1.
  2. Проверьте, установлена ли программа, — шаг 2.
  3. Если программа стоит в вашей домашней папке — укажите полный путь, шаг 3.
  4. Если это cd — шаг 4.

Все команды на этой странице вводятся на сервере: подключитесь к нему по SSH (как подключиться) и набирайте их в том же окне.

Что значит это сообщение

ivan@myserver:~$ sudo nginxx -t
[sudo] password for ivan:
sudo: nginxx: command not found

sudo ищет программу по имени в списке папок. Этот список задан в /etc/sudoers строкой secure_path, в Ubuntu он такой:

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin

Если программы с таким именем нет ни в одной из этих папок, sudo пишет command not found — «команда не найдена».

Для cd сообщение длиннее:

sudo: cd: command not found
sudo: "cd" is a shell built-in command, it cannot be run directly.
sudo: the -s option may be used to run a privileged shell.
sudo: the -D option may be used to run a command in a specific directory.

Причины:

  • опечатка в имени программы;
  • программа не установлена;
  • программа лежит в папке, которой нет в списке, например в домашней;
  • это команда самой оболочки (cd), а не отдельная программа.

Шаг 1. Проверьте, как написана команда

Сравните имя посимвольно: в примере выше nginxx вместо nginx. Имена программ пишутся маленькими латинскими буквами.

Шаг 2. Проверьте, установлена ли программа

Проверьте, знает ли система эту программу:

command -v nginx

Если команда вывела путь, например /usr/sbin/nginx, — программа установлена. Если ничего не вывела — установите её:

sudo apt install nginx

Если apt не находит пакет — Unable to locate package.

Шаг 3. Если программа лежит в домашней папке

Программы, которые ставятся в домашнюю папку пользователя (например, в ~/.local/bin), sudo по имени не найдёт: этой папки нет в списке. Узнайте полный путь (вместо mytool — имя программы):

command -v mytool

И запустите программу через sudo по полному пути, который вывела команда:

sudo /home/ivan/.local/bin/mytool

Шаг 4. Если это cd или другая команда оболочки

cd — переход в другую папку — встроен в оболочку, отдельной программы для него нет. Если папка закрыта для вашего пользователя, есть два пути:

  • посмотреть, что в папке, не заходя в неё: sudo ls /var/www;
  • открыть оболочку root командой sudo -i: приглашение закончится знаком #, и cd будет работать с правами администратора. Закончив, наберите exit, чтобы вернуться к своему пользователю.
В оболочке root любая команда выполняется с полными правами. Не оставляйте её открытой без дела.

Как проверить

Повторите команду с исправленным именем или полным путём — sudo запустит программу.

Похожие ошибки

СообщениеЧем отличается
bash: sudo: command not foundНа сервере нет самой программы sudo. Войдите под root и поставьте её: apt install sudo
… is not in the sudoers fileНет права на sudo

Тексты сообщений на этой странице сверены с исходным кодом sudo 1.9.15p5 — эта версия стоит в Ubuntu 24.04. В других версиях слова могут немного отличаться.

Источники

Сверено 9 октября 2026 года.

Что почитать дальше

Проверено и обновлено: 09.10.2026