Ако сте потребител на Linux, най-вероятно сте срещнали грешката „командата не е намерена“ на терминала на Linux.
Често, когато срещнете тази грешка, ще получите предложение за инсталиране на програма, но има няколко потенциални причини за грешката „команда не е намерена“.
Разбиране на променливите на средата и чувствителността към малки и малки букви
Преди да започнем да коригираме често срещаните причини за грешката, важно е да оценим няколко критични свойства на командите на Linux.
За разлика от Windows, всички команди, имена на файлове и директории на Linux и Unix системите са чувствителни към малки и големи букви. Това означава, че всички команди и съответните им аргументи или опции трябва да изглеждат точно както са предназначени. Разбира се, повечето команди са с малки букви.
Променливите на средата играят важна роля в Linux. Те съдържат ценна информация за вашата сесия за влизане и други важни подробности.
Когато изпълнявате команда на Linux, вашата система ще търси в текущите ви променливи, по-специално в променливата PATH, за да намери командата или програмата, която искате да изпълните. Ако командата не е намерена, ще получите грешка, че не е намерена.
С това разбиране, ето как можете да отстраните грешката „команда не е намерена“ в Linux.
1. Проверете за синтактични грешки
Трябва да изпълнявате всички команди на Linux точно така, както изглеждат с главни и малки букви. Например, обвивката третира „ls“ и „LS“ като различни команди на Linux.
Също така, ако вашата команда съдържа аргументи, уверете се, че използвате правилния регистър. Командата ssh за препращане на порт приема формата:
ssh-fN-Л 80:localhost:8080
Аргументите „L“ и „N“ в този случай трябва да са главни букви, в противен случай ще получите грешка.
В някои случаи опциите или аргументите може да изискват предхождащо тире (-) или двойно тире (--), а някои аргументи може да се наложи да бъдат оградени в кавички или скоби.
Уверете се, че използвате правилната команда. Проверете отново правописа на командата, която се опитвате да използвате, и се уверете, че използвате правилния регистър.
2. Включете пътя към вашия изпълним файл
Скриптовете играят жизненоважна роля в Linux, тъй като ви позволяват да автоматизирате обикновени задачи. Ако ти напишете своя собствена Bash програма или използвате някои програми на трети страни, ще трябва да посочите целия път до програмата, за да я изпълните успешно.
Когато изтеглите Open Virtualization Format Tool, например, можете да го инсталирате във всяка директория по ваш вкус. Сега, когато се опитате да стартирате ovftool команда от директория, различна от тази, в която е инсталирана, ще получите грешката „командата не е намерена“.
За да изпълните правилно командата, трябва да посочите целия път до изпълнимия файл на програмата. Ако, например, сте инсталирали ovftool в /opt/ovf директория, след което да стартирате ovftool, ще трябва да използвате следната команда:
sudo /opt/ovf/ovftool
Освен това обърнете внимание на наклонените черти. За разлика от Windows, който използва обратни наклонени черти, Linux използва наклонени черти напред. Използвай Раздел функция за автоматично довършване на вашия терминал, за да избегнете правописни грешки в имената на директории.
3. Използвайте променливи на средата
Ако откриете, че определянето на цяла директория към дадена команда е уморително, помислете за добавяне на изпълнимия файл на програмата към вашата променлива на средата PATH.
За да добавите изпълнима програма към PATH, просто изпълнете команда в следния формат:
PATH = $PATH:/opt/път/до/вашата/програма
Например, за да добавите програмата с инструменти на Microsoft .NET към вашия PATH, изпълнете командата:
износ PATH=$PATH:~/.dotnet/инструменти
Променливите на средата се записват в ~/.bashrc файл на Bash или на ~/.zshrc файл, ако използвате Z shell.
За да актуализирате и приложите промените, които сте направили в ~/.bashrc файл, без да излизате, изпълнете командата източник, както следва:
източник ~/.bashrc
Можете да проверите дали вашият програмен път е добавен успешно към променливата PATH, като използвате командата:
ехо $PATH
4. Уверете се, че програмата е инсталирана
Понякога причината за грешката „командата не е намерена“ може просто да бъде, защото програмата дори не е инсталирана на първо място.
Ако командата, която се опитвате да изпълните, не е вградена команда в shell, възможно е програмата да не е инсталирана на вашата система. В този случай ще трябва да инсталирате програмата или пакета, който я съдържа.
В зависимост от вашата дистрибуция, използвайте мениджъра на пакети по подразбиране, за да инсталирате необходимия софтуер. В базирани на Debian дистрибуции, използвайте командата apt и използвайте DNF или YUM на базирани на RHEL дистрибуции.
5. Използвайте правилните привилегии
Ако сте много сигурни, че програмата или командата, която се опитвате да изпълните, е на вашата система и използвате правилния синтаксис, тогава може да е проблем с разрешенията.
Подобно на Windows, ще ви трябват повишени привилегии, за да изпълнявате определени програми на Linux. Ако случаят е такъв, уверете се, че използвате sudo или изпълнявате програмата като root потребител.
Използвайте променливи на средата в Linux
Уверете се, че използвате правилния синтаксис, когато изпълнявате Linux команди и помислете за добавяне на програмите, които често изпълнявате, към променливите на вашата среда.
Променливите на средата играят толкова важна роля в Linux, че разбирането им е от ключово значение за ежедневната ви употреба на операционната система.