which
와 where
명령어는 모두 시스템에서 특정 실행 파일의 위치를 찾는 데 사용되지만, 주로 사용되는 운영 체제와 그 동작 방식에 차이가 있습니다.
-
which 명령어:
- 운영 체제: 주로 UNIX 및 UNIX 계열 시스템(예: Linux, macOS)에서 사용됩니다.
- 동작: 사용자의
PATH
환경 변수에 지정된 디렉토리들을 검색하여 주어진 명령어의 실행 파일 위치를 찾습니다. 첫 번째로 찾은 위치를 출력합니다. - 예제:
which python
은PATH
에 지정된 디렉토리 중 첫 번째로 발견된python
실행 파일의 경로를 반환합니다.
-
where 명령어:
- 운영 체제: 주로 Windows에서 사용됩니다.
- 동작:
PATH
환경 변수 뿐만 아니라 Windows 시스템에서 사용 가능한 모든 위치를 검색하여 해당 명령어의 실행 파일 위치를 모두 찾아 출력합니다. 이는 여러 개의 실행 파일이 존재할 경우 모든 경로를 보여주기 때문에 특히 유용합니다. - 예제:
where python
은 시스템에 설치된 모든python
실행 파일의 위치를 찾아 모두 나열합니다.
주요 차이점 요약:
- which는 주로 Unix 계열 시스템에서 사용되며, 첫 번째로 발견된 실행 파일의 위치만을 반환합니다.
- where는 Windows에서 사용되며, 시스템상에 존재하는 해당 명령어의 모든 실행 파일 위치를 반환합니다.
따라서, 여러분이 사용하는 커맨드라인 환경(MINGW64)에서 which
와 where
을 사용할 때, which
는 단일 결과를, where
는 가능한 모든 결과를 반환하는 것을 볼 수 있습니다. 이는 시스템에 여러 파이썬 버전이 설치되어 있거나, 다른 소프트웨어에 의해 추가된 경로들이 있을 때 유용하게 활용될 수 있습니다.