본문으로 건너뛰기

Linux에서 whereis 명령어 사용법

· 약 5분

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

만약 실행 파일만 찾고 싶다면, whichtype` 명령어를 사용하는 것도 추천한다.

소스 코드만 검색하려면 -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 페이지를 검색할 수 있다.