Polecenia what, whereis i whatis mogą brzmieć podobnie do nowicjuszy w Linuksie, ale różnią się bardziej, niż mogłoby się wydawać.

Być może kilka razy używałeś poleceń what, whereis i whatis w systemie Linux. Wszystkie trzy polecenia pomagają znaleźć informacje o innych poleceniach systemu Linux. Te polecenia wyglądają podobnie, ale mają pewne różnice.

Oto szczegółowe porównanie poleceń what, whereis i whatis w systemie Linux.

Dowództwo które

Niektóre polecenia mają wiele binarnych plików wykonywalnych znajdujących się w różnych katalogach. Po uruchomieniu polecenia powłoka wyszukuje swoje pliki wykonywalne w katalogach określonych w zmiennej środowiskowej PATH.

Aby dowiedzieć się, jakie katalogi znajdują się w zmiennej środowiskowej PATH, otwórz terminal w systemie Linux i uruchom następujące polecenie:

echo $PATH

Możesz też ręcznie dodaj katalog do zmiennej środowiskowej PATH.

Gdy powłoka znajdzie pierwszą wykonywalną ścieżkę, wykonuje ją. Używając polecenia what w systemie Linux, możesz zidentyfikować ścieżkę tego pliku wykonywalnego.

Jest to przydatne w sytuacjach, gdy w systemie są zainstalowane dwie różne wersje tego samego programu lub dwa różne programy o tej samej nazwie. Za pomocą polecenia who możesz sprawdzić, który z nich zostanie wykonany jako pierwszy.

Oto składnia polecenia who:

który [opcja] [polecenie]

Na przykład, aby sprawdzić rzeczywistą ścieżkę pliku smoła polecenie, wpiszesz:

która smoła

To polecenie wyświetli pierwszą ścieżkę do pliku wykonywalnego, tj. /usr/bin znalezione dla polecenia tar w PATH. Oznacza to, że za każdym razem, gdy uruchamiasz polecenie tar, powłoka wykonuje plik binarny znajdujący się w /usr/bin informator.

Aby wyświetlić wszystkie dostępne ścieżki wykonywalne dla polecenia, użyj polecenia which z rozszerzeniem -A opcja:

co -smoła

Możesz także wyświetlić ścieżki plików wykonywalnych dla wielu poleceń jednocześnie, tak jak poniżej:

które [polecenie1] [polecenie2] [polecenie3]

Dowództwo Whereis

Polecenie Whereis wyświetla ścieżkę do plików binarnych, źródłowych i stron podręcznika powiązanych z określonym poleceniem. W przeciwieństwie do polecenia who, nie tylko wyszukuje plik wykonywalny w $PATH, ale także $MANPATH i inne predefiniowane lokalizacje.

Bez żadnej opcji wiersza polecenia polecenie whereis wyświetla pliki binarne, źródłowe i strony podręcznika dla polecenia:

gdzie jest smoła

Aby wyświetlić tylko ścieżkę pliku binarnego, użyj -B opcja:

gdzie jest -b tar

Aby wyświetlić tylko plik źródłowy, użyj -S flaga:

gdzie jest -s tar

Aby wyświetlić tylko stronę podręcznika, użyj -M opcja:

gdzie jest -m tar

Polecenie whatis

Polecenie whatis zapewnia jednowierszowy opis danego polecenia Linuksa. Wyszukuje te informacje na stronie podręcznika polecenia.

Na przykład, aby dowiedzieć się, co robi polecenie tar, uruchom:

co to jest smoła

Możesz także znaleźć informacje o wielu poleceniach jednocześnie, używając:

whatis ls cp mkdir głowa kota

który vs. gdzie jest vs. whatis: jakie są różnice?

Jeśli szukasz ścieżki do pliku binarnego, który jest wykonywany, gdy polecenie jest uruchamiane w powłoce, użyj polecenia which. Natomiast jeśli szukasz stron źródłowych, binarnych i man dla polecenia, użyj Whereis.

Polecenie whereis wyświetla listę wszystkich binarnych plików wykonywalnych, podczas gdy polecenie who wyświetla tylko pierwszy plik wykonywalny, który zostanie wykonany po wpisaniu wspomnianego polecenia w powłoce.

Polecenie what przeszukuje zmienną PATH, podczas gdy polecenie whereis przeszukuje standardowe katalogi Linuksa, w tym $PATH i $MANPATH.

Wreszcie polecenie whatis po prostu wyświetla jednowierszowy opis polecenia.

Wyszukiwanie informacji o poleceniach systemu Linux

Polecenia Who, Whereis i Whatis pomagają znaleźć informacje o innych poleceniach systemu Linux, takie jak pełna ścieżka do plików wykonywalnych, stron binarnych, źródłowych, podręczników i funkcjonalności polecenia.

Wraz z whatis możesz używać innych poleceń, takich jak apropos, man, info i help, aby uzyskać szczegółowe informacje i lepiej zrozumieć polecenia Linuksa i ich funkcje.