| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | ||
| 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 13 | 14 | 15 | 16 | 17 | 18 | 19 |
| 20 | 21 | 22 | 23 | 24 | 25 | 26 |
| 27 | 28 | 29 | 30 |
Tags
- PackageManagement
- UNIX
- 파일시스템
- Unix명령어
- 자바스크립트
- linux
- bash
- 쉘스크립트
- linuxcommand
- js
- Solaris
- 유닉스명령어
- coreutils
- 시스템관리
- 터미널
- sysadmin
- 리눅스명령어
- 유닉스
- cups
- environment
- terminal
- tcsh
- 사용자관리
- php
- 리눅스
- 명령어
- UnixCommand
- 정규표현식
- shell
- JavaScript
Archives
- Today
- Total
ioerror
where 사용법 및 옵션 - 지정한 명령어가 존재하는 모든 경로 및 별칭 위치를 검색하는 Shell 내장 명령어 본문
반응형

where - Where
지정한 명령어가 환경 변수 PATH 내의 어떤 경로에 설치되어 있는지, 셸 내장 명령어(Built-in)나 별칭(Alias) 또는 함수(Function)로 정의되어 있는지 탐색하여 해당되는 모든 위치를 순서대로 출력하는 셸 내장 명령어이다. 주로 C Shell(tcsh, csh) 및 Z Shell(zsh) 환경에서 기본 제공되며, 특정 명령의 실행 파일 위치나 별칭 중첩 여부를 전수 조사할 때 활용되다.
1. 명령어 용도
- [tcsh, csh, zsh]
- PATH 경로 내에 동일한 이름의 실행 파일이 여러 디렉터리에 중복 존재할 때 실제 실행되는 파일 외에 다른 파일의 경로까지 모두 확인할 때 활용되다.
- 특정 명령어에 별칭(alias)이 설정되어 있어 원본 실행 파일의 위치를 파악하기 어려울 때 별칭의 원본 명령어와 실행 파일 위치를 동시에 탐색할 때 사용되다.
- 개발 환경이나 패키지 매니저(npm, pip, homebrew 등)로 인해 여러 버전의 실행 바이너리가 설치되었을 때 우선순위를 점검하다.
2. 명령어 서식
Bash
where [option] [command_name]...
3. 명령어 옵션
- 주요 옵션 소개 테이블
| 옵션 | 설명 | 사용가능 OS 및 쉘 |
| -a | PATH 내에 존재하는 검색 조건과 일치하는 모든 위치를 출력하다. | [zsh] |
| -v | 검색된 명령어의 유형(내장 명령어, 별칭, 함수, 파일)을 상세히 출력하다. | [zsh] |
| -p | 별칭(alias)이나 내장 명령어를 제외하고 오직 PATH 상의 실행 파일만 검색하다. | [zsh] |
| -w | 검색 결과에 대해 명령어 이름과 유형(command, alias, builtin, function)만을 표시하다. | [zsh] |
| -f | 셸 함수(Shell Function) 정의 내용은 제외하고 위치만 탐색하다. | [zsh] |
| /R [DIR] | 지정한 디렉터리를 기준 경로로 설정하여 하위 디렉터리를 재귀 탐색하다. | [Windows CMD] |
| /Q | 탐색 결과를 화면에 출력하지 않고 종료 코드(Exit Code)만 반환하다. | [Windows CMD] |
| /T | 검색된 각 파일의 크기 및 최종 수정 날짜, 시간 정보도 함께 표시하다. | [Windows CMD] |
- 명령어 옵션 사용시 결과 예시
Bash
# zsh 환경에서 python 명령어의 모든 위치 및 별칭 탐색
where python
# python: aliased to python3
# /usr/bin/python
# /usr/local/bin/python
출력 결과 항목에 대한 설명:
- python: aliased to python3: python 명령어가 현재 python3으로 지정된 셸 별칭(alias)임을 보여주다.
- /usr/bin/python: 환경 변수 PATH에서 첫 번째로 발견된 일반 실행 파일 경로이다.
- /usr/local/bin/python: PATH 상에서 추가로 발견된 시스템 내부의 다른 python 실행 파일 위치이다.
Bash
# zsh 환경에서 상세 유형 정보 탐색 실행
where -v ls
# ls is an alias for ls --color=auto
# ls is /bin/ls
4. 명령어 특이사항(유의사항)
- Bash 셸에서의 미지원: Bash(Bourne Again Shell)에서는 where 명령어가 기본 내장되어 있지 않다. Bash 환경에서 동일한 기능을 수행하려면 type -a [명령어] 또는 which -a [명령어]를 사용해야 하다.
- which 명령어와의 차이점: which 명령어는 일반적으로 PATH 탐색 시 가장 먼저 검색되는 하나의 실행 파일 위치만 반환하지만, where 명령어는 별칭 및 내장 명령어 정보를 포함하여 발견된 모든 위치를 순차적으로 나열하다.
- 실행 우선순위 확인: 출력되는 결과의 가장 첫 줄에 등장하는 항목이 현재 셸 세션에서 해당 명령어를 입력했을 때 실제 호출되는 대상이다.
- Windows 환경과의 차이: Windows CMD의 where는 외부 바이너리 프로그램(/R, /T 등 별도의 플래그 제공)으로 동작하는 반면, Unix 계열 zsh/tcsh의 where는 셸 내장 명령어로 작동 방식 및 옵션 구성에 차이가 존재하다.
관련 명령어들
- type: 명령어가 셸 내장 명령어, 파일, 별칭, 함수 중 무엇인지 분류하여 보여주는 셸 내장 명령어이다.
- which: 환경 변수 PATH를 기반으로 명령어 실행 파일의 위치를 탐색하여 출력하다.
- whereis: 명령어의 바이너리 파일, 소스 코드, 매뉴얼 페이지(man page) 위치를 함께 검색하다.
- whence: zsh 환경에서 명령어가 어떻게 해석되는지 해석 방식을 출력하는 내장 명령어이다.
https://ioerror.tistory.com/entry/UNIX-Linux-Command-Reference
UNIX & Linux Command Reference
유닉스 / 리눅스 명령어 표유닉스와 리눅스 환경에서 자주 사용되는 필수 명령어들을 완벽하게 정리한다. 서버 관리, 프로그래밍, 일상적인 시스템 운영 등 어떤 목적이든 터미널 환경을 능숙하
ioerror.tistory.com
반응형
'OS' 카테고리의 다른 글
| which 사용법 및 옵션 - 실행 파일의 위치(절대 경로)를 찾는 명령어 (0) | 2026.08.09 |
|---|---|
| whereis 사용법 및 옵션 - 명령어의 실행 파일, 소스, 매뉴얼 페이지 위치 검색 (0) | 2026.08.09 |
| wget 사용법 및 옵션 - 웹 서버로부터 파일 다운로드 및 미러링을 수행하는 네트워크 유틸리티 (0) | 2026.08.09 |
| wc 사용법 및 옵션 - 텍스트 파일의 줄, 단어, 바이트, 문자 수를 계산하는 명령어 (0) | 2026.08.09 |
| wall 사용법 및 옵션 - 시스템의 모든 접속 사용자에게 브로드캐스트 메시지 전송 (0) | 2026.08.09 |
Comments