개요

which 는 사용자의 PATH 환경 변수와 alias, function 에서 명령어의 경로를 찾아주는 간단한 커맨드 라인 유틸리티입니다.


다음은 vim 의 경로를 찾는 명령어입니다.

which 사용법

$ which vim

/usr/bin/vim
BASH


모든 경로 나열

which 는 PATH 에 지정된 경로를 순서대로 탐색하며 제일 처음 찾은 경로만 리턴합니다.


즉 vim 이 /usr/bin/vim 과 /usr/local/bin/vim 두 개의 경로에 있고 PATH 가 /usr/bin:/usr/local/bin 으로 설정되어 있는 경우 /usr/bin/vim 을 찾고 종료합니다.


which 가  PATH 에 있는 모든 경로에서 검색하게 하려면 -a 옵션을 추가하면 됩니다

which 사용법

$ which vim

/usr/bin/vim
/usr/local/bin/vim
BASH


PATH 에서만 찾기

which 는  기본적으로 사용자가 설정한 alias 와 function 에서도 명령어를 찾습니다.

alias vim='vim -e'
CODE

위와 같이 alias 를 지정했을 경우 which vim 은 아래와 같은 결과를 출력합니다.

which vim

$ which vim
alias vim='vim -e'
        /usr/bin/vim
BASH


--skip-alias 와 --skip-functions 를 사용하면 PATH에서 실행 파일만 찾게 됩니다.

which 사용법

$ which vim --skip-alias  --skip-functions

/usr/bin/vim
BASH