답변:
경로에 있으면 type git
또는을 실행할 수 있습니다 which git
. which
명령은 문제를 적절한 경로 (환경과 점 파일 사이의 혼란을) 받고 있었다. 의 경우 인수로 type
경로를 얻을 수 있습니다 -p
.
경로에 없으면 locate -b git
'git'이라는 이름을 찾으십시오. 긴 목록이 될 것이므로로 자격을 부여하는 것이 좋습니다 locate -b git | fgrep -w bin
.
locate
끝없이 사용 하지만 (매우 빠르지 만) 그것을 모르는 사람들을 위해 locate
최신 데이터베이스 업데이트만큼 최신 버전이며, 매일 자동으로 우분투에서 실행됩니다. 새로 고침 명령은 sudo updatedb
또한 ... locate
이 같은 명령이 작동하므로, 내장 된 정규식 기능 : locate -br "^git$"
... -b` 수단으로 만 검색을 제한 기본 이름 ... 나없이 -b
, 그것은 전체 경로 이름을 검색합니다 .. 또한 , 검색하도록 구성한 경로 만 검색합니다. 정규식 필터 외에는 이것에 대한 명령 줄 제어가 없습니다.
type
별명과 기타를 알려주는 셸 내장 which
이며 실행 파일 경로를 보여주는 외부 프로그램입니다 ... 그 실행 파일이 호출되지 않는 방식.
which
는 셸 내장 및 기능에 대해 알지 못하며 (명령을 입력하여 수행 할 작업이 궁금 할 때 관련됨 ) $PATH
일부 시스템 에서 다른 기능 을 사용한다는 것 입니다.
POSIX 표준 이 작업을 수행하는 방법입니다 command -v git
. 모든 유닉스 계열 시스템이이를 지원해야합니다.
whereis git
명령의 경로를 얻습니다.
즉, git이 PATH 변수에있는 경우 패키지 관리자를 통해 설치하지 않은 경우 더 복잡하므로 find
또는 locate
명령을 사용해야 합니다.
which
권장합니다.
여기에 다른 답변은 주로 리눅스의 현대 버전에 맞도록 것 같다, 그래서 당신은 사용 일 경우 git
가없는 OS에 locate
, whereis
, which
, 또는 apropos
(솔라리스, HPUX, 등 등), 후 항상 오래된 대기가있다 find
.
find / -name git
위에 나열된 시스템의 이전 버전 중 하나에 -print
제공되는 옵션 이 필요할 수 있습니다 find
.
find / -name git -print
그리고를 사용하는 경우 주기적으로 locate
실행해야합니다 updatedb
. ( locate.updatedb
일부 BSD 파생물에서)
type
. :) 확실히 레퍼토리에 가고 있습니다!
find
당신이 그것을 뿌리 곳에서 시작하는 파일 시스템의 전체 깊이 우선 검색을 수행합니다. 따라서 find / -name git
전체 시스템을 순회합니다. 만약 당신이 프로그램이 당신의 경로에 있다는 것을 안다면 IFS=":"; path=$PATH; set $path; for dir in $path; do find $dir -name git; done
, 유닉스 파일 시스템이 당신에게 이상한 문자가 있으면 이것이 다양한 방법으로 깨질 수있을만큼 충분히 허용되지만, 당신은 보통 할 수있다 PATH
.
PATH
것입니다 IFS=":"; for dir in $PATH; do find "$dir" -name git; done
. 또한, 반복하는,이 답변은에 액세스 할 수없는 사람들에 의해 사용되어야 type
하거나 which
또는 locate
, 즉, 거의 아무도. @Arcege의 답변이 맞습니다.
설치된 프로그램의 경로를 얻으려면 whereis
또는을 사용하십시오 which
. 이름을 잊어 버린 경우 apropos
동의어 또는 유틸리티에 대한 설명과 함께 사용할 수 있습니다 ( 예 : apropos "version control"
find) git
. 다음은 물론 whatis
프로그램의 기능을 간단히 요약하는 명령입니다. 그러나 시스템의 모든 프로그램과 기능에는 적용되지 않습니다. 예를 들어보십시오 whatis "the meaning of life, universe and everything"
.
which
명령"참으로 :)