Na przykład gitzainstalowałem w swoim systemie. Ale nie pamiętam, gdzie go zainstalowałem, więc które polecenie jest odpowiednie, aby się tego dowiedzieć?
Na przykład gitzainstalowałem w swoim systemie. Ale nie pamiętam, gdzie go zainstalowałem, więc które polecenie jest odpowiednie, aby się tego dowiedzieć?
Odpowiedzi:
Jeśli jest na swojej drodze, a następnie można uruchomić albo type gitalbo which git. whichKomenda miał problemy z właściwą ścieżkę (splątanie między środowiskiem i plików kropka). Ponieważ typemożesz uzyskać tylko ścieżkę z -pargumentem.
Jeśli nie znajduje się na twojej ścieżce, najlepiej poszukać go za pomocą. locate -b git Znajdziesz coś o nazwie „git”. Będzie to długa lista, więc warto ją zakwalifikować locate -b git | fgrep -w bin.
locatebez końca (jest bardzo szybki), ale dla tych, którzy nie są tego świadomi, locatejest tylko tak aktualny, jak jego najnowsza aktualizacja bazy danych, która jest automatycznie uruchamiana codziennie na moim Ubuntu. Polecenie odświeżania jest sudo updatedb... locateMa również wbudowaną locate -br "^git$"funkcję wyrażeń regularnych, więc takie polecenia działają: ... -b` oznacza ograniczenie wyszukiwania tylko do nazwy basename ... lub bez -b, przeszukuje pełną ścieżkę. Również , przeszukuje tylko ścieżki, które skonfigurowałeś do wyszukiwania. Nie ma kontroli tego wiersza poleceń poza filtrami wyrażeń regularnych.
typejest wbudowaną powłoką, która mówi mi aliasy i tym podobne, i whichjest zewnętrznym programem, który pokazuje mi ścieżkę do pliku wykonywalnego ... chociaż jeśli jest wbudowany, który dostaje się w sposób, w jaki plik wykonywalny nie zostanie wywołany.
whichtym, że nie wie on o wbudowanych powłokach i funkcjach (co jest istotne, gdy zastanawiasz się, co zrobi to polecenie), i używa innych $PATHw niektórych systemach.
POSIX standardowy sposób to zrobić command -v git. Wszystkie systemy uniksowe powinny to obsługiwać.
whereis git i dostajesz ścieżkę do polecenia.
to znaczy, jeśli git jest w tobie zmienna PATH, jeśli nie zainstalowałeś go za pośrednictwem menedżera pakietów, jest bardziej złożony i powinieneś użyć poleceń findlub locate.
whichZachęca również.
Pozostałe odpowiedzi tutaj wydają się być w dużej mierze nastawione na nowoczesnych wersjach Linuksa, więc jeśli zdarzy ci się używać gitna OS, który nie ma locate, whereis, which, lub apropos(jak Solaris, HPUX, etc), to nie zawsze jest stary gotowości find.
find / -name git
Jedna starsza wersja wymienionych wyżej systemów może wymagać -printdostarczenia opcji find.
find / -name git -print
A jeśli używasz locate, upewnij się, że biegasz updatedbokresowo. ( locate.updatedbw przypadku niektórych instrumentów pochodnych BSD)
type. :) To zdecydowanie wchodzi w repertuar!
findnajpierw wykonuje pełne przeszukiwanie systemu plików, poczynając od miejsca, w którym zostanie zrootowany. Przejdzie więc find / -name gitcały twój system. Jeśli wiesz, że program jest na twojej ścieżce, zwykle możesz to zrobić IFS=":"; path=$PATH; set $path; for dir in $path; do find $dir -name git; done, chociaż systemy plików Uniksa są na tyle liberalne, że mogą się one przerwać na różne sposoby, jeśli masz w sobie dziwne znaki PATH.
PATH, poprawne (z tymi samymi zastrzeżeniami jak poprzednio) IFS=":"; for dir in $PATH; do find "$dir" -name git; done. Ponadto, aby powtórzyć, to odpowiedź powinna być stosowana tylko przez ludzi, którzy nie mają dostępu do typelub which czy locate , czyli prawie nikt. @ Odpowiedź Arcege jest poprawna.
Aby uzyskać ścieżkę do zainstalowanego programu, użyj whereisalbo which. Jeśli zdarzy ci się zapomnieć jego nazwę, możesz użyć aproposz synonimem lub opisem swojego narzędzia, np . apropos "version control"Znajdziesz git. Po tym następuje oczywiście whatispolecenie krótkiego podsumowania funkcji programu. Nie dotyczy to jednak wszystkich programów i funkcji w systemie. Spróbuj na przykład whatis "the meaning of life, universe and everything".
whichpolecenie” rzeczywiście :)