리눅스 명령어 whereis 사용법 및 7가지 옵션

리눅스 명령어 whereis는 특정 파일이 시스템에 어디에 위치해 있는지, 그리고 해당 파일과 관련된 바이너리 파일(실행 파일), 소스 파일, 매뉴얼 페이지 등을 빠르게 찾을 수 있게 도와줍니다. 이번 글에서는 whereis 명령어의 기본 사용법과 여러 가지 유용한 옵션에 대해 알아보겠습니다.

whereis 명령어란?

whereis 명령어는 주로 특정 명령어의 실행 파일, 소스 코드, 그리고 매뉴얼(man) 페이지를 찾는 데 사용됩니다. 이 명령어는 시스템에서 설치된 프로그램의 파일 경로를 쉽게 찾을 수 있도록 도와주기 때문에, 어떤 프로그램이 어디에 설치되었는지 확인하고자 할 때 매우 유용합니다. 예를 들어, ls 명령어의 위치를 찾고 싶다면, whereis ls 명령어를 입력하면 됩니다.

기본 사용법

whereis [옵션] [찾을 파일명]
ShellScript

위의 형식에서 [옵션]은 생략할 수 있으며, [찾을 파일명]에 찾고자 하는 명령어 또는 파일명을 입력하면 됩니다.

예시

whereis ls
ShellScript

이 명령어를 실행하면 ls 명령어와 관련된 바이너리 파일, 소스 파일, 매뉴얼 페이지의 경로가 출력됩니다. 아래에서 볼 수 있는 출력 결과는 ls 명령어의 실행 파일이 /bin/ls에 있으며, 관련 매뉴얼 페이지가 /usr/share/man/man1/ls.1.gz에 있음을 의미합니다.

그림 1. 리눅스 명령어 whereis ls의 실행 결과
그림 1. 리눅스 명령어 whereis ls의 실행 결과

whereis 명령어의 주요 옵션

whereis 명령어는 다양한 옵션을 제공하여 사용자가 원하는 방식으로 파일을 찾을 수 있도록 돕습니다. 주요 옵션들을 살펴보겠습니다.

-b: 바이너리 파일만 검색

-b 옵션은 오직 바이너리 파일만 검색하고, 소스 파일이나 매뉴얼 페이지는 제외합니다. 예를 들어, 다음 명령어는 ls 명령어의 실행 파일 위치만 출력합니다.

whereis -b ls
ShellScript

아래 그림에서 실행파일의 경로만 출력되는 것을 확인할 수 있습니다.

그림 2. 리눅스 명령어 whereis -b 옵션으로 바이너리 파일만 검색
그림 2. 리눅스 명령어 whereis -b 옵션으로 바이너리 파일만 검색

-m: 매뉴얼 파일만 검색

-m 옵션은 매뉴얼 파일만 검색할 때 사용합니다. 예를 들어, 다음 명령어는 ls 명령어와 관련된 매뉴얼 파일의 위치만 출력합니다.

whereis -m ls
ShellScript

아래 그림에서는 매뉴얼 파일의 경로만 출력되는 것을 확인할 수 있습니다.

그림 3. 리눅스 명령어 whereis -m 옵션으로 매뉴얼 파일만 검색
그림 3. 리눅스 명령어 whereis -m 옵션으로 매뉴얼 파일만 검색

-s: 소스 파일만 검색

-s 옵션은 소스 파일만 검색할 때 사용합니다. 예를 들어, 다음 명령어는 ls 명령어와 관련된 소스 파일의 위치만 출력합니다.

whereis -s ls
ShellScript

소스 파일을 찾지 못하는 경우에는 아래와 같이 명령어 이름만 출력되고 끝납니다.

그림 4. 리눅스 명령어 whereis -s 옵션으로 소스 파일만 검색
그림 4. 리눅스 명령어 whereis -s 옵션으로 소스 파일만 검색

-u: 특정 파일이 존재하지 않는 경우만 출력

-u 옵션은 바이너리 파일, 소스 파일, 매뉴얼 페이지 중 하나라도 없는 경우에만 출력합니다. 예를 들어, 특정 프로그램의 매뉴얼이 없는 경우, 이 옵션을 사용하여 해당 사실을 빠르게 확인할 수 있습니다.

whereis -u ls
ShellScript

-B, -M, -S: 검색 경로 지정

whereis 명령어는 기본적으로 시스템에서 정해진 경로에서 파일을 검색합니다. 하지만 사용자가 특정 경로에서만 파일을 찾고 싶다면 -B, -M, -S 옵션을 사용하여 검색 경로를 지정할 수 있습니다.

  • -B: 바이너리 파일을 찾을 경로 지정
  • -M: 매뉴얼 파일을 찾을 경로 지정
  • -S: 소스 파일을 찾을 경로 지정

예를 들어, /usr/bin 디렉터리에서만 zsh 명령어의 바이너리 파일을 찾고 싶다면 다음과 같이 입력합니다.

whereis -B /usr/bin -b zsh
ShellScript

아래의 그림을 보면 zsh의 경로가 여러 곳에 있음을 알 수 있습니다. 바이너리의 경로를 /usr/bin으로 지정하면 해당 경로에서만 해당 바이너리를 검색하게 됩니다.

그림 5. 리눅스 명령어 whereis 검색 시 검색 경로 지정
그림 5. 리눅스 명령어 whereis 검색 시 검색 경로 지정

whereis 명령어 활용 팁

시스템 문제 해결

whereis 명령어는 특정 프로그램이 예상 경로에 없을 때, 이를 빠르게 확인하는 데 유용합니다. 특히 프로그램이 설치되어 있는지 확인하거나, 잘못된 경로에 설치된 경우 문제를 진단하는 데 도움이 됩니다.

매뉴얼 페이지 누락 확인

리눅스에서는 명령어의 매뉴얼 페이지를 통해 사용법을 쉽게 확인할 수 있습니다. whereis -m 옵션을 사용하여 특정 명령어의 매뉴얼 페이지가 누락된 것을 확인할 수 있습니다. 만약 매뉴얼 페이지가 없다면, 추가 설치가 필요할 수 있습니다.

여러 파일 위치 확인

여러 파일이나 명령어의 위치를 한 번에 확인하고 싶다면, 공백으로 구분하여 파일명을 나열하면 됩니다.

whereis ls cp mv
ShellScript

이렇게 하면 ls, cp, mv 명령어 각각의 파일 위치를 아래 그림과 같이 한 번에 확인할 수 있습니다.

그림 6. 리눅스 명령어 whereis로 여러 파일 위치 한 번에 확인
그림 6. 리눅스 명령어 whereis로 여러 파일 위치 한 번에 확인

사용 시 주의사항

  • 심볼릭 링크 주의: whereis 명령어는 심볼릭 링크(특정 파일을 가리키는 링크)를 따라가지 않으므로, 실제 파일의 위치가 아닌 링크 위치를 반환할 수 있습니다. 이 점을 주의해야 합니다.
  • 환경 변수와 경로: whereis 명령어는 환경 변수 PATH에 지정된 경로를 기준으로 검색합니다. 따라서 특정 경로에 설치된 프로그램이 PATH에 포함되지 않았다면, whereis 명령어로는 찾을 수 없을 수도 있습니다.
  • 정확한 파일명 사용: 파일명을 입력할 때 정확하게 입력해야 합니다. 그렇지 않으면 예상치 못한 결과가 나올 수 있습니다.

정리

리눅스에서 파일을 찾는 것은 매우 중요한 작업이며, 그 중 리눅스 명령어 whereis는 파일의 위치를 빠르고 정확하게 찾아주는 유용한 도구입니다. 다양한 옵션을 활용하여 원하는 파일만 검색하거나, 특정 경로에서만 파일을 찾는 등 여러 가지 방식으로 사용할 수 있습니다. 특히 시스템 관리 작업을 할 때, 프로그램이 올바르게 설치되었는지, 매뉴얼 페이지가 있는지 등을 확인하는 데 도움을 줄 수 있습니다.

참고자료

관련 포스트

Leave a Comment