Linux에서 whereis 명령어 사용법
whereis
는 주어진 명령어의 실행 파일, 소스 코드, 그리고 man페이지 파일을 찾는 데 사용되는 명령어이다.
whereis
명령어 기본 사용 법
whereis
명령어의 기본 문법은 다음과 같다:
whereis [OPTIONS] FILE_NAME...
OPTIONS:
- -l (검색 경로 리스트 출력) : whereis 명령이 참조하는 디렉터리 리스트를 출력.
-b
(Binary) :실행 파일(바이너리 파일)만 검색.-m
(Manual Pages) : 명령어의 man 페이지 파일만 검색.-s
(Source Files): 명령어의 소스 코드 파일만 검색.-u
(Unusual Entries) : 이상항목을 찾을때 사용된다.-B
(Binary Search Path 설정) : 실행 파일을 검색할 디렉터리를 지정.-M
(Manual Pages Search Path 설정) : man 페이지를 검색할 디렉터리를 지정.-S
(Source Files Search Path 설정) : 소스 파일을 검색할 디렉터리를 지정.-f
: 검색 파일 지정을 위해 사용되며, -B, -M, -S 옵션과 함께 쓰임.
옵션 없이 실행하면, whereis는 관련 명령어의 실행 파일, 소스 코드, 그리고 man 페이지 파일을 검색한다.
기본적으로 whereis
는 환경 변수에 정의된 디렉터리에서 명령어 파일을 검색한다.
-l
옵션을 사용하면, whereis가 검색하는 디렉터리 목록을 확인할 수 있다:
whereis -l
bash
명령어에 대한 정보를 확인하려면 다음과 같이 입력하면 된다:
whereis bash
출력 결과:
bash: /bin/bash /etc/bash.bashrc /usr/share/man/man1/bash.1.gz
/bin/bash
: 실행 파일 경로/etc/bash.bashrc
: 소스 코드 경로/usr/share/man/man1/bash.1.gz
: man 페이지 경로
만약 검색하려는 명령어가 존재하지 않으면, whereis
는 명령어 이름만 출력한다.
whereis
는 여러 명령어를 한 번에 검색할 수도 있다:
whereis netcat uptime
출력 결과:
netcat: /bin/netcat /usr/share/man/man1/netcat.1.gz
uptime: /usr/bin/uptime /usr/share/man/man1/uptime.1.gz
특정 파일 유형만 검색하기
실행 파일만 검색하려면 -b 옵션을 사용하면 된다:
whereis -b ping
출력 결과:
ping: /bin/ping
만약 실행 파일만 찾고 싶다면, which
나 typ
e` 명령어를 사용하는 것도 추천한다.
소스 코드만 검색하려면 -s
옵션을 사용한다:
whereis -s command
man 페이지 파일만 검색하려면 -m
옵션을 사용하면 된다:
whereis -m command
특정 디렉터리에서만 검색하기
특정 디렉터리에서 검색하려면 다음 옵션들을 사용하면 된다:
- -B: 실행 파일 검색 디렉터리 설정
- -M: man 페이지 검색 디렉터리 설정
- -S: 소스 코드 검색 디렉터리 설정 모든 설정은 반드시 -f 옵션으로 끝내야 한다. 예를 들어:
whereis -b -B /bin -f cp
출력 결과:
cp: /bin/cp
-u
옵션은 이상 항목을 찾는데 사용된다. (특정 파일(실행 파일, man 페이지, 소스 코드) 중 일부가 없거나, 여러 개가 있는 경우를 의미)
예를 들어, 특정 디렉터리에서 man 문서가 없거나 여러 문서를 가진 모든 실행 파일을 찾으려면 다음과 같이 입력하면 된다:
cd /bin
whereis -m -u *
이와 같이 whereis 명령어를 통해 실행 파일, 소스 코드, 그리고 man 페이지를 검색할 수 있다.