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를 사용합니다.

관련 글과 공식 문서

같은 카테고리의 다른 글
Linux / 명령어 / env - 환경 변수 설정과 명령 실행

Linux / 명령어 / env - 환경 변수 설정과 명령 실행

Linux env 명령어로 환경 변수를 추가·제거하거나 깨끗한 환경에서 프로그램을 실행하는 방법을 설명합니다. env -i·-u·-C, shebang 활용과 printenv와의 차이를 다룹니다.

Linux / 명령어 / lsblk - 디스크·파티션 구조와 마운트 지점 확인

Linux / 명령어 / lsblk - 디스크·파티션 구조와 마운트 지점 확인

Linux lsblk 명령어의 기능과 기본 문법을 설명합니다. 실제 사용 예제, 주요 옵션과 작업 전 확인할 점을 알아봅니다.

Linux / 명령어 / apropos - 설명 키워드로 명령어 검색

Linux / 명령어 / apropos - 설명 키워드로 명령어 검색

apropos 명령어로 이름을 모르는 리눅스 명령과 매뉴얼을 기능 키워드로 찾는 방법을 설명합니다. 정규 표현식, 모든 키워드 일치, 섹션 제한과 검색 결과가 없을 때의 해결 방법을 다룹니다.

Linux / 명령어 / df - 파일 시스템의 남은 용량 확인

Linux / 명령어 / df - 파일 시스템의 남은 용량 확인

Linux df 명령어의 기능과 기본 문법을 설명합니다. 실제 사용 예제, 주요 옵션과 작업 전 확인할 점을 알아봅니다.

Linux / 명령어 / pgrep - 조건에 맞는 프로세스 ID 검색

Linux / 명령어 / pgrep - 조건에 맞는 프로세스 ID 검색

Linux pgrep 명령어의 기본 문법과 실제 사용 예제를 설명합니다. 주요 옵션과 결과를 해석할 때 주의할 점을 확인할 수 있습니다.

Linux / 명령어 / groups - 사용자의 그룹 소속 확인

Linux / 명령어 / groups - 사용자의 그룹 소속 확인

Linux groups 명령어의 기본 문법과 실제 사용 예제를 설명합니다. 주요 옵션과 결과를 해석할 때 주의할 점을 확인할 수 있습니다.

Linux 강좌 / 파일과 명령 찾기 - find, locate, which, whereis

Linux 강좌 / 파일과 명령 찾기 - find, locate, which, whereis

find와 locate로 파일을 찾고 which, whereis, type으로 명령의 위치와 해석 방식을 확인합니다. 실시간 검색과 색인 검색의 차이도 짚습니다.

Linux / 명령어 / rpm - RPM 패키지와 설치 데이터베이스 조회

Linux / 명령어 / rpm - RPM 패키지와 설치 데이터베이스 조회

Linux rpm 명령어의 적용 배포판과 기본 작업을 설명합니다. 패키지 조회·설치 예제, 주요 옵션과 시스템 변경 시 주의점을 알아봅니다.

Linux / 명령어 / timedatectl - 시간대와 시간 동기화 상태 관리

Linux / 명령어 / timedatectl - 시간대와 시간 동기화 상태 관리

Linux timedatectl 명령어의 기능과 기본 문법을 설명합니다. 실제 사용 예제, 주요 옵션과 작업 전 확인할 점을 알아봅니다.

Linux / 명령어 / head - 파일 앞부분의 줄과 바이트 출력

Linux / 명령어 / head - 파일 앞부분의 줄과 바이트 출력

Linux head 명령어로 파일의 처음 몇 줄이나 바이트를 출력하는 방법을 설명합니다. 여러 파일, 음수 개수, 파이프 활용과 바이너리 데이터 주의점도 정리합니다.