Linuxpia/리눅스 사용 팁

[리눅스 명령어] 'which'와 'whereis'의 차이가 궁금합니다.

Linuxpia4U 2023. 10. 4. 19:20
반응형

'which'와 'whereis'의 차이

`which`와 `whereis`는 둘 다 유닉스 및 리눅스 기반 시스템에서 특정 명령어의 위치를 찾는 데 사용되는 명령어입니다. 그러나 이 두 명령어는 작동 방식과 제공하는 정보에 차이가 있습니다.

1. `which`


- 기능: `which` 명령어는 사용자가 실행 가능한 바이너리 파일의 위치를 찾아줍니다.
- 출력: 시스템의 `PATH` 환경 변수에 지정된 디렉토리만을 검색하여 해당 명령어의 절대 경로를 출력합니다.
- 예시:

which ls


  이 명령어는 `ls` 명령어의 절대 경로 (예: `/bin/ls`)를 출력합니다.

2. `whereis`


- 기능: `whereis` 명령어는 바이너리 파일 뿐만 아니라 해당 명령어의 소스와 매뉴얼 페이지의 위치도 찾아줍니다.
- 출력: `whereis`는 더 광범위하게 시스템을 검색하여 바이너리, 소스 코드, 매뉴얼 페이지 등의 정보를 함께 제공합니다.
- 예시:

whereis ls


  이 명령어는 `ls` 명령어의 바이너리 파일 위치, 소스 코드 위치 (있는 경우), 그리고 매뉴얼 페이지의 위치를 출력합니다.

주요 차이점


- 검색 범위: `which`는 `PATH` 환경 변수에 지정된 디렉토리만 검색하는 반면, `whereis`는 바이너리, 소스, 매뉴얼 페이지 등의 정보를 함께 제공합니다.
- 출력 정보: `which`는 바이너리 파일의 위치만 출력하는 반면, `whereis`는 관련된 여러 파일의 위치 정보를 출력합니다.
- 속도: `which`는 `PATH`를 검색하므로 빠른 반면, `whereis`는 시스템을 더 광범위하게 검색하므로 상대적으로 느릴 수 있습니다.

정리

 

이러한 차이로 인해, 사용자는 특정 명령어의 위치 정보만을 원할 경우 `which`를, 더 광범위한 정보를 원할 경우 `whereis`를 사용하는 것이 일반적입니다.

반응형