Найти в Дзене
takoedelo

Как исправить ошибку “команда не найдена” в Linux

Оглавление

Существуют различные причины, по которым оболочка Linux выдает ошибку "команда не найдена". Вот как это исправить.

Если вы являетесь пользователем Linux, вы, скорее всего, сталкивались с ошибкой “команда не найдена” в терминале Linux.

Часто, когда вы сталкиваетесь с этой ошибкой, вы получаете предложение установить программу, однако существует несколько потенциальных причин ошибки "команда не найдена".

Понимание переменных среды и чувствительности к регистру

Прежде чем мы приступим к устранению распространенных причин ошибки, важно оценить несколько важных свойств команд Linux.

В отличие от Windows, все команды, имена файлов и каталогов в системах Linux и Unix чувствительны к регистру. Это означает, что все команды и их соответствующие аргументы или параметры должны отображаться точно так, как они обозначены. Конечно, большинство команд написаны строчными буквами.

Переменные среды играют важную роль в Linux. Они содержат ценную информацию о вашем сеансе входа в систему и другие важные детали.

Когда вы запускаете команду в Linux, ваша система будет искать в ваших текущих переменных, в частности в переменной PATH, чтобы найти команду или программу, которую вы хотите запустить. Если команда не найдена, вы получите сообщение об ошибке, что она не найдена.

1. Проверьте наличие синтаксических ошибок

Вы должны запускать все команды Linux точно так, как они отображаются в регистре. Например, оболочка обрабатывает “ls” и “LS” как разные команды в Linux.

Кроме того, если ваша команда содержит аргументы, убедитесь, что вы используете правильный регистр. Команда ssh для переадресации портов принимает формат:

-2

Аргументы “L” и “N” в этом случае должны быть прописными, иначе вы получите сообщение об ошибке.

В некоторых случаях для параметров или аргументов может потребоваться предшествующий дефис (-) или двойной дефис (--), а некоторые аргументы, возможно, потребуется заключить в кавычки или скобки.

Убедитесь, что вы используете правильную команду. Дважды проверьте написание команды, которую вы пытаетесь использовать, и убедитесь, что вы используете правильный регистр.

2. Укажите путь к вашему исполняемому файлу

Скрипты играют жизненно важную роль в Linux, поскольку они позволяют автоматизировать рутинные задачи. Если вы пишете свою собственную программу Bash или используете некоторые сторонние программы, вам нужно будет указать полный путь к программе для ее успешного выполнения.

Например, когда вы загружаете Open Virtualization Format Tool, вы можете установить его в любой каталог по своему вкусу. Теперь, когда вы пытаетесь запустить команду ovftool из каталога, отличного от того, в котором она была установлена, вы получите сообщение об ошибке “команда не найдена”.

Чтобы выполнить команду правильно, вам необходимо указать полный путь к исполняемому файлу программы. Если, например, вы установили ovftool в каталог / opt / ovf, то для запуска ovftool вам нужно будет использовать следующую команду:

-3

Кроме того, обратите внимание на косые черты. В отличие от Windows, которая использует обратные косые черты, Linux использует прямые косые черты. Используйте функцию автозаполнения вкладок вашего терминала, чтобы избежать опечаток в именах каталогов.

3. Используйте переменные среды

-4

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

Чтобы добавить исполняемый файл программы в PATH, просто запустите команду в следующем формате:

-5

Переменные среды записываются в файл ~/.bashrc в Bash или в файл ~/.zshrc, если вы используете оболочку Z.

Чтобы обновить и применить внесенные изменения к файлу ~/.bashrc без выхода из системы, выполните исходную команду следующим образом:

-6

Вы можете проверить, успешно ли добавлен путь к вашей программе в переменную PATH с помощью команды:

-7

4. Убедитесь, что программа установлена

-8

Иногда причиной ошибки “команда не найдена” может быть просто то, что программа вообще не установлена.

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

В зависимости от вашего дистрибутива, используйте менеджер пакетов по умолчанию для установки необходимого программного обеспечения. В дистрибутивах на основе Debian используйте команду apt, а в дистрибутивах на основе RHEL используйте DNF или YUM.

5. Используйте правильные привилегии

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

Как и в Windows, вам потребуются повышенные привилегии для выполнения определенных программ в Linux. Если это так, убедитесь, что вы используете sudo или запускаете программу от имени пользователя root.

Используйте переменные среды в Linux

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

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

Смотрите другие наши статьи,подписывайтесь на канал чтобы не пропустить интересное.