리눅스 whereis, which 명령어: 프로그램 위치 찾기
리눅스 환경에서 작업하다 보면 특정 프로그램의 설치 위치나 바이너리 파일의 경로를 알아야 할 때가 있습니다. 이 때 사용되는 두 가지 주요 명령어가 whereis와 which입니다.
1. whereis 명령어
whereis 명령어는 특정 프로그램의 바이너리, 소스, 매뉴얼 페이지의 위치를 찾아줍니다. 주로 프로그램의 여러 관련 파일들을 함께 찾아볼 때 사용됩니다.
$ whereis grep위 명령은 grep 명령어의 바이너리, 소스, 매뉴얼 페이지 위치를 출력합니다.
whereis 주요 옵션 및 설명
whereis 명령어는 여러 옵션을 포함하여 사용할 수 있습니다. 다음은 주요 옵션들입니다.
-b: 바이너리 파일만 찾기-m: 매뉴얼 페이지만 찾기-s: 소스 파일만 찾기
$ whereis -b ls위 명령은 ls 명령어의 바이너리, 소스, 매뉴얼 페이지 위치를 출력합니다.

2. which 명령어
which는 사용자가 실행할 수 있는 프로그램들 중에서 특정 프로그램의 경로를 출력합니다. 주로 바이너리 파일의 위치만을 찾아볼 때 사용됩니다.
$ which ls위 명령은 ls 명령어의 바이너리 위치만을 출력합니다.
which 옵션
which는 비교적 단순한 명령어로, 주로 사용되는 옵션은 다음과 같습니다.
-a: 모든 경로 출력. 같은 이름을 가진 프로그램이 여러 곳에 있을 경우 모두 출력합니다.
$ which -a python위의 명령은 시스템에 설치된 모든 python 바이너리 위치를 출력합니다.

3. 두 명령어의 차이점과 특징
whereis는 프로그램의 바이너리, 소스, 매뉴얼 페이지 등 여러 위치 정보를 제공하는 반면, which는 바이너리 파일의 위치만을 알려줍니다. 따라서 전체적인 정보를 원할 때는 whereis를, 바이너리 위치만을 원할 때는 which를 사용하면 됩니다.
4. 언제 어떤 명령어를 사용하는 것이 좋을까?
특정 프로그램과 관련된 모든 파일의 위치를 알고 싶을 때는 whereis를, 단순히 실행 파일의 위치만을 알고 싶을 때는 which를 사용하면 됩니다. 실제 작업 환경에서는 빠르게 바이너리 위치를 확인하고자 할 때 which가 더 자주 사용되는 경향이 있습니다.
☞ 이 두 명령어를 알고 있으면 리눅스 환경에서 효과적으로 프로그램 위치를 찾아 작업하는 데 큰 도움이 될 것입니다.
관련 이전 게시글
- 리눅스 ls 명령어: 디렉토리 내용 확인하기
- 리눅스 cat 명령어: 파일 내용 출력하기
- 리눅스 rm 명령어: 파일과 디렉토리 삭제하기
- 리눅스 touch 명령어: 파일 생성 및 수정 시간 변경하기
- 리눅스 cp 명령어: 파일 및 디렉토리 복사하기
다음 글에서도 리눅스의 기본 명령어에 대해 알아보겠습니다. 이 글이 도움이 되셨다면 공유 부탁드립니다!



