Ошибка «sudo: command not found»: sudo не нашёл программу
sudo не нашёл программу с таким именем. Проверьте написание, установлена ли программа, и не встроенная ли это команда оболочки вроде cd.
Содержание 10
Что сделать прямо сейчас
- Проверьте, нет ли опечатки в имени программы, — шаг 1.
- Проверьте, установлена ли программа, — шаг 2.
- Если программа стоит в вашей домашней папке — укажите полный путь, шаг 3.
- Если это
cd— шаг 4.
Все команды на этой странице вводятся на сервере: подключитесь к нему по SSH (как подключиться) и набирайте их в том же окне.
Что значит это сообщение
ivan@myserver:~$ sudo nginxx -t
[sudo] password for ivan:
sudo: nginxx: command not foundsudo ищет программу по имени в списке папок. Этот список задан в /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, чтобы вернуться к своему пользователю.
Как проверить
Повторите команду с исправленным именем или полным путём — 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. В других версиях слова могут немного отличаться.
Источники
- Исходный код sudo 1.9.15p5: sudoers.c — тексты command not found и подсказки для cd.
- Файл /etc/sudoers из пакета sudo в Ubuntu 24.04 — строка secure_path.
- man sudo — ключи -i, -s и -D.
Сверено 9 октября 2026 года.
Что почитать дальше
- Как открыть терминал — как работать с командами в терминале.
- Все ошибки apt и sudo.
Проверено и обновлено: 09.10.2026