Такие читатели, как вы, помогают поддерживать MUO. Когда вы совершаете покупку по ссылкам на нашем сайте, мы можем получать партнерскую комиссию. Читать далее.

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

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

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

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

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

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

instagram viewer

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

С учетом этого, вот как вы можете устранить ошибку «команда не найдена» в Linux.

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

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

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

ssh-fN 80: локальный:8080

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

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

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

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

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

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

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

sudo /opt/ovf/ovftool

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

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

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

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

ПУТЬ = $ПУТЬ:/opt/путь/к/вашей/программе

Например, чтобы добавить программу инструментов Microsoft .NET в PATH, выполните команду:

экспорт ПУТЬ=$ПУТЬ:~/.dotnet/инструменты

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

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

источник ~/.bashrc

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

эхо $ПУТЬ

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

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

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

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

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

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

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

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

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

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