Czy istnieje polecenie powłoki do wyprowadzania ścieżki bezwzględnej dla określonego programu? Chciałbym wiedzieć, gdzie znajduje się wykonywalny plik binarny.
command-line
DrStrangeLove
źródło
źródło
which
.Komenda
poda wszystkie informacje na temat
name
, jeśli jest wykonywalny (zwracając również ścieżkę), alias powłoki, funkcję powłoki, wbudowaną powłokę.źródło
type -P
specjalnie szukać plików binarnychwhereis -b yourBinary
wyświetli lokalizację programu.źródło
Wszystkie powyższe, z pewnymi zastrzeżeniami:
whereis - wyszukuje dopasowania (domyślnie) w niektórych wstępnie ustawionych katalogach. Lista jest dostępna w „man whereis” i może być przekazana jako parametr
która - wyszukuje pliki wykonywalne w bieżącym środowisku (innymi słowy, pliki wykonywalne, które można znaleźć w katalogach wymienionych w zmiennej środowiskowej PATH
(bash) type - jeśli „name” jest aliasem, zawiera definicję aliasu, ale niekoniecznie ścieżkę dowolnego pliku wykonywalnego w definicji.
Inną opcją, bardziej ogólną, jest mlocate .
źródło
type -P
zawsze wykonujePATH
wyszukiwanie,mlocate
wróci wiele niepowiązanych wyników (niezwiązane co poprosił OP: „absolutną ścieżkę dla określonego programu”)type
nie jest bash; to POSIX: pubs.opengroup.org/onlinepubs/009604499/utilities/type.html . Powinien być dostępny na wszystkich powłokach zgodnych z POSIX.