Linux 4 мин чтения

Как исправить ошибку "command not found" в Ubuntu

Как исправить ошибку "command not found" в Ubuntu: что проверить по порядку, чтобы не спутать сбой в работе с похожей проблемой. Материал фокусируется на Как исправить ошибку "command not found" в Ubuntu, признаках сбоя, вероятных причинах, безопасной диагностике и проверке результата через journalctl, systemd, пакеты, права, загрузчик, ядро и состояние файловой системы.

UbuntuLinuxтерминалкомандыPATHустановкаbash

Симптомы

  • Ubuntu не предлагает варианты установки пакета для отсутствующей команды. Многие или все команды, включая базовые утилиты (например, 'open', 'awk'), не работают в терминале.
  • Симптом повторяется после обычного перезапуска или повторной попытки выполнить то же действие.
  • В журнале, интерфейсе или консоли есть сообщение, относящееся к той же операции.
  • Проблема появилась после изменения настроек, обновления, обслуживания, переноса данных или смены условий работы.

Возможные причины

  • Как исправить ошибку "command not found" в Ubuntu: фактическое состояние не совпадает с настройкой, версией, питанием или доступным ресурсом.
  • Состояние Как исправить ошибку "command not found" в Ubuntu расходится с текущей конфигурацией, версией или зависимостью.
  • Проблему поддерживают права доступа, занятый ресурс, поврежденный локальный кэш или неверный путь.
  • Последнее обновление, перенос данных или смена сети изменили условия запуска; проверьте journalctl, systemd, пакеты, права, загрузчик, ядро и состояние файловой системы.

Пошаговое решение

1

Проверьте и установите отсутствующую программу

Часто ошибка "command not found" возникает, когда нужная программа просто не установлена в вашей системе. Ubuntu обычно имеет встроенный механизм, который предлагает установить отсутствующий пакет, если он доступен в репозиториях. Например, если вы введете 'cpufetch', система может предложить 'sudo apt install cpufetch'. Если автоматических предложений нет, вы можете вручную использовать утилиту `command-not-found` для получения информации о том, какой пакет предоставляет нужную команду. Эта утилита представляет собой исполняемый Python-скрипт, который обычно находится в каталоге `/usr/lib/` и не включен в стандартную переменную окружения PATH для прямого вызова. Запустите утилиту, указав полный путь к ней. После получения рекомендации вы сможете установить пакет, используя `apt` или `snap`.

Команда
/usr/lib/command-not-found <имя_команды>
2

Восстановите переменную окружения PATH

Если у вас не работают даже базовые команды, такие как `ls`, `cd`, `awk` или `open`, и при вводе любой команды постоянно выдается ошибка "command not found", это, скорее всего, указывает на серьезную проблему с переменной окружения `$PATH`. Эта переменная сообщает вашей оболочке (например, Bash), в каких каталогах искать исполняемые файлы программ. Если `$PATH` пуста, неправильно настроена или повреждена, оболочка не сможет найти ни одну команду. Для временного восстановления $PATH в текущей сессии терминала выполните следующую команду. Это позволит вам использовать основные системные команды. Если это решит проблему, но она возвращается после перезапуска терминала или системы, то, вероятно, поврежден или некорректно настроен один из файлов инициализации оболочки (например, `.profile` или `.bashrc`) в вашем домашнем каталоге. Вам потребуется отредактировать эти файлы, чтобы изменения PATH стали постоянными.

Команда
export PATH=/bin:/usr/bin:/usr/local/bin:/usr/local/sbin
3

Проверьте и восстановите обработчик отсутствующих команд

В Ubuntu система автоматически обрабатывает команды, которые не найдены, с помощью специальной функции `command_not_found_handle` в Bash. Эта функция является так называемым "хуком" (hook), который срабатывает, когда оболочка не может найти команду. Она вызывает утилиту `command-not-found` для поиска и предложения установки соответствующего пакета. Если эта функция была изменена, удалена или повреждена, вы не будете получать эти удобные подсказки по установке отсутствующих программ. Вы можете проверить определение этой функции в вашей текущей оболочке. Стандартное определение функции `command_not_found_handle` включает логику для поиска исполняемого файла `command-not-found` в `/usr/lib/` или `/usr/share/command-not-found/` и его выполнения. Если вывод команды показывает, что функция отсутствует или выглядит некорректно (например, отличается от стандартного определения ниже), возможно, вам потребуется восстановить ее. Обычно это можно сделать путем переустановки пакета `command-not-found` (`sudo apt install --reinstall command-not-found`) или путем восстановления стандартных конфигурационных файлов оболочки. Если вы не уверены, как это сделать, рассмотрите возможность создания нового пользователя для проверки, работает ли там функция корректно, или обратитесь к документации Ubuntu для получения более детальных инструкций по восстановлению конфигурации Bash. Пример стандартного определения функции `command_not_found_handle`: ```bash command_not_found_handle () { if [ -x /usr/lib/command-not-found ]; then /usr/lib/command-not-found -- "$1"; return $?; else if [ -x /usr/share/command-not-found/command-not-found ]; then /usr/share/command-not-found/command-not-found -- "$1"; return $?; else printf "%s: command not found\n" "$1" 1>&2; return 127; fi; fi } ```

Команда
declare -f -p command_not_found_handle
4

Соберите точный контекст ошибки

Запишите полный текст ошибки, версию продукта, время появления и последнее изменение перед сбоем. Без этого легко перепутать первопричину с похожим симптомом и выполнить лишние действия.

5

Проверьте состояние после одного изменения

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

6

Сохраните данные для отката или поддержки

Перед сбросом, переустановкой, удалением кэша или разборкой устройства сохраните конфигурацию, важные файлы, журнал ошибок и список выполненных действий. Это снижает риск потери данных и ускоряет дальнейшую диагностику.

Суть проблемы

Как исправить ошибку “command not found” в Ubuntu нужно разбирать по фактическому месту сбоя, а не по общей формулировке ошибки. Сначала подтвердите, что проблема относится именно к Как исправить ошибку “command not found” в Ubuntu: совпадает действие, сообщение, версия компонента и момент появления симптома.

Что уточнить перед исправлением

Проверьте journalctl, systemd, пакеты, права, загрузчик, ядро и состояние файловой системы. Сохраните точный текст ошибки, последние изменения, версию продукта и короткий фрагмент журнала. Не удаляйте данные, профиль, volume, раздел или конфигурацию, пока лог не показывает, что причина именно в них.

Проверка результата

После каждого изменения повторяйте тот же сценарий, на котором проявлялся сбой. Проблема считается решенной, если служба или загрузка проходят без повторной ошибки в journalctl. Если появилась другая ошибка, зафиксируйте ее отдельно: это может быть следующий слой причины, а не возврат исходной проблемы.

Когда останавливать правки

Остановитесь, если следующий шаг требует удаления данных, сброса профиля, переустановки системы, изменения прав без отката или работы с производственной конфигурацией. Сначала сделайте резервную копию и сохраните исходные параметры.

Источники

  1. askubuntu.com — проверено 30.05.2026
  2. ru.stackoverflow.com — проверено 30.05.2026
  3. en.wikipedia.org — проверено 30.05.2026
  4. en.wikipedia.org — проверено 30.05.2026