Jeśli jesteś użytkownikiem Linuksa, najprawdopodobniej napotkałeś błąd „nie znaleziono polecenia” na terminalu Linux.
Często, gdy natkniesz się na ten błąd, otrzymasz sugestię zainstalowania programu, jednak istnieje kilka potencjalnych przyczyn błędu „nie znaleziono polecenia”.
Zrozumienie zmiennych środowiskowych i rozróżniania wielkości liter
Zanim zajmiemy się naprawianiem typowych przyczyn błędu, ważne jest, aby docenić kilka krytycznych właściwości poleceń systemu Linux.
W przeciwieństwie do systemu Windows, we wszystkich poleceniach, nazwach plików i katalogach w systemach Linux i Unix rozróżniana jest wielkość liter. Oznacza to, że wszystkie polecenia i odpowiadające im argumenty lub opcje powinny wyglądać dokładnie tak, jak powinny. Oczywiście większość poleceń jest pisana małymi literami.
Zmienne środowiskowe odgrywają ważną rolę w Linuksie. Zawierają cenne informacje o Twojej sesji logowania i inne ważne szczegóły.
Gdy uruchomisz polecenie w systemie Linux, system przeszuka bieżące zmienne, w szczególności zmienną PATH, aby znaleźć polecenie lub program, który chcesz uruchomić. Jeśli polecenie nie zostanie znalezione, pojawi się komunikat o błędzie.
Mając to na uwadze, oto jak możesz rozwiązać problem z błędem „nie znaleziono polecenia” w systemie Linux.
1. Sprawdź błędy składniowe
Powinieneś uruchamiać wszystkie polecenia Linuksa dokładnie tak, jak się pojawiają w zależności od wielkości liter. Na przykład powłoka traktuje „ls” i „LS” jako różne polecenia w systemie Linux.
Ponadto, jeśli polecenie zawiera argumenty, upewnij się, że używasz właściwej wielkości liter. Polecenie ssh do przekierowania portów przyjmuje format:
ssh-fN-L 80:Lokalny Gospodarz:8080
Argumenty „L” i „N” w tym przypadku muszą być pisane wielkimi literami, w przeciwnym razie wystąpi błąd.
W niektórych przypadkach opcje lub argumenty mogą wymagać poprzedzającego myślnika (-) lub podwójnego myślnika (--), a niektóre argumenty mogą wymagać ujęcia w cudzysłowy lub nawiasy.
Upewnij się, że używasz poprawnego polecenia. Sprawdź dokładnie pisownię polecenia, którego próbujesz użyć, i upewnij się, że używasz właściwej wielkości liter.
2. Dołącz ścieżkę do pliku wykonywalnego
Skrypty odgrywają istotną rolę w Linuksie, ponieważ pozwalają zautomatyzować przyziemne zadania. Jeśli ty napisać własny program w bashu lub użyj programów innych firm, aby pomyślnie wykonać program, musisz podać całą ścieżkę do programu.
Na przykład po pobraniu narzędzia Open Virtualization Format Tool można je zainstalować w dowolnym katalogu. Teraz, gdy spróbujesz uruchomić plik ovftool polecenie z katalogu innego niż ten, w którym zostało zainstalowane, pojawi się błąd „nie znaleziono polecenia”.
Aby poprawnie uruchomić polecenie, należy podać całą ścieżkę do pliku wykonywalnego programu. Jeśli na przykład zainstalowałeś ovftool w /opt/ovf katalog, a następnie uruchomić ovftool, będziesz musiał użyć następującego polecenia:
sudo /opt/ovf/ovftool
Zwróć też uwagę na przecinki. W przeciwieństwie do systemu Windows, który używa ukośników wstecznych, Linux używa ukośników przednich. Użyj Patka funkcję automatycznego uzupełniania terminala, aby uniknąć literówek w nazwach katalogów.
3. Użyj zmiennych środowiskowych
Jeśli stwierdzisz, że określanie całego katalogu dla polecenia jest męczące, rozważ dodanie pliku wykonywalnego programu do zmiennej środowiskowej PATH.
Aby dodać plik wykonywalny programu do PATH, po prostu uruchom polecenie w następującym formacie:
ŚCIEŻKA = $ ŚCIEŻKA:/opt/ścieżka/do/twojego/programu
Na przykład, aby dodać program narzędzi Microsoft .NET do PATH, uruchom polecenie:
eksport ŚCIEŻKA=$ŚCIEŻKA:~/.dotnet/narzędzia
Zmienne środowiskowe są zapisywane do ~/.bashrc plik w Bash lub ~/.zshrc plik, jeśli używasz powłoki Z.
Aby zaktualizować i zastosować zmiany wprowadzone w pliku ~/.bashrc plik bez wylogowania, uruchom polecenie source w następujący sposób:
źródło ~/.bashrc
Możesz sprawdzić, czy ścieżka programu została pomyślnie dodana do zmiennej PATH za pomocą polecenia:
Echo ŚCIEŻKA $
4. Upewnij się, że program jest zainstalowany
Czasami przyczyną błędu „nie znaleziono polecenia” może być po prostu to, że program nie jest nawet zainstalowany.
Jeśli polecenie, które próbujesz uruchomić, nie jest wbudowane polecenie powłoki, być może program nie jest zainstalowany w twoim systemie. W takim przypadku będziesz musiał zainstalować program lub pakiet, który go zawiera.
W zależności od dystrybucji użyj domyślnego menedżera pakietów, aby zainstalować wymagane oprogramowanie. W dystrybucjach opartych na Debianie, użyj polecenia apt i użyj DNF lub YUM w dystrybucjach opartych na RHEL.
5. Użyj odpowiednich uprawnień
Jeśli masz pewność, że program lub polecenie, które próbujesz uruchomić, znajduje się w twoim systemie i używasz poprawnej składni, może to oznaczać problem z uprawnieniami.
Podobnie jak w systemie Windows, będziesz potrzebować podwyższonych uprawnień do uruchamiania niektórych programów w systemie Linux. W takim przypadku upewnij się, że używasz sudo lub uruchamiasz program jako użytkownik root.
Wykorzystaj zmienne środowiskowe w systemie Linux
Upewnij się, że używasz poprawnej składni podczas wykonywania poleceń systemu Linux i rozważ dodanie często uruchamianych programów do zmiennych środowiskowych.
Zmienne środowiskowe odgrywają tak ważną rolę w Linuksie, że zrozumienie ich jest kluczowe dla codziennego korzystania z systemu operacyjnego.