Linux / 명령어 / whereis - 명령의 바이너리·소스·매뉴얼 위치 찾기
whereis는 명령과 관련된 바이너리, 소스 코드, 매뉴얼 페이지를 표준 시스템 위치에서 찾습니다. PATH만 검색하는 which와 달리 여러 종류의 관련 파일을 한 번에 확인할 때 유용합니다.
이 글에서는 whereis의 기본 문법과 주요 옵션, 실제 사용 예제, 관련 명령과의 차이, 사용할 때 주의할 점을 설명합니다.
whereis 명령어란?
util-linux의 whereis는 환경 변수와 알려진 하드코딩 경로 등을 바탕으로 검색 위치를 구성합니다. 전체 파일 시스템을 재귀 탐색하는 명령이 아니므로 임의의 사용자 디렉터리나 비표준 설치 위치는 누락될 수 있습니다.
기본 문법
whereis [옵션] 이름 ...
옵션과 세부 동작은 구현과 버전에 따라 달라질 수 있습니다. 현재 시스템에서는 whereis --help와 man whereis으로 설치된 명령의 설명을 확인하세요.
whereis 기본 사용법
명령 관련 위치 모두 찾기
바이너리와 매뉴얼 등 발견한 경로를 한 줄에 표시합니다.
whereis bash
바이너리만 찾기
-b로 실행 파일 검색만 선택합니다.
whereis -b ssh
매뉴얼만 찾기
-m으로 매뉴얼 페이지 위치만 찾습니다.
whereis -m printf
바이너리와 매뉴얼 위치 구별하기
whereis는 이름과 관련된 실행 파일·매뉴얼 등의 표준 위치를 검색합니다. 전체 디스크를 재귀 검색하지 않습니다.
whereis ls
예시 출력(설치 경로는 환경마다 다름):
ls: /usr/bin/ls /usr/share/man/man1/ls.1.gz
앞의 경로는 실행 파일, 뒤의 경로는 매뉴얼 파일입니다. 현재 셸이 실제로 선택하는 실행 경로를 알고 싶다면 type 또는 command -v를 사용하세요.
주요 옵션
| 옵션 | 설명 |
|---|---|
-b |
바이너리를 검색합니다. |
-m |
매뉴얼 페이지를 검색합니다. |
-s |
소스 파일을 검색합니다. |
-B DIRS -f |
바이너리 검색 경로를 지정합니다. |
-M DIRS -f |
매뉴얼 검색 경로를 지정합니다. |
-S DIRS -f |
소스 검색 경로를 지정합니다. |
-u |
선택한 종류에서 일반적이지 않은 항목을 찾습니다. |
-l |
실제 검색 경로 목록을 표시합니다. |
실전 활용 예제
검색 경로 확인하기
결과가 예상과 다르면 -l로 현재 구현이 확인하는 경로를 먼저 봅니다.
whereis -l
사용자 지정 경로에서 바이너리 찾기
경로 목록 옵션 뒤에는 파일 이름 처리를 시작하는 -f가 필요합니다.
whereis -B /usr/local/bin /opt/tools/bin -f mytool
실행 경로와 관련 파일 함께 진단하기
셸 선택 결과와 표준 위치의 관련 파일을 각각 확인합니다.
command -v python3 whereis python3
whereis와 관련 명령 비교
| 명령 | 주요 역할 | 적합한 상황 |
|---|---|---|
whereis |
표준 위치의 관련 파일 | 바이너리·소스·매뉴얼 탐색 |
which |
PATH 실행 파일 | 외부 실행 경로 확인 |
type |
셸 명령 종류 | 별칭·함수·내장 포함 진단 |
find |
경로 직접 순회 | 임의 위치와 복잡한 조건 |
사용할 때 주의할 점
전체 디스크 검색이 아닙니다
검색 경로 밖에 설치된 파일은 보이지 않을 수 있습니다.
이름에는 경로를 넣지 않습니다
일반적으로 프로그램 이름을 지정하며 앞선 경로와 알려진 확장자는 내부적으로 처리됩니다.
-B·-M·-S 뒤의 -f를 확인합니다
검색 디렉터리 목록이 끝나고 파일 이름이 시작됨을 구분하지 않으면 인수 해석이 달라집니다.
FAQ
whereis는 PATH만 검색하나요?
아닙니다. 표준 바이너리·소스·매뉴얼 경로와 환경에서 얻은 위치를 검색합니다.
아무 결과가 없는 이유는 무엇인가요?
비표준 위치에 설치됐거나 선택한 종류의 파일이 검색 경로에 없을 수 있습니다.
검색 경로를 볼 수 있나요?
util-linux 구현에서는 whereis -l을 사용합니다.
전체 시스템에서 파일을 찾으려면요?
현재 상태를 직접 검색하려면 find, 색인 기반 이름 검색은 locate를 사용합니다.









