| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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
- php
- coreutils
- shell
- Unix명령어
- Solaris
- 파일시스템
- 명령어
- 사용자관리
- UnixCommand
- 유닉스
- 유닉스명령어
- bash
- terminal
- linuxcommand
- 쉘스크립트
- 자바스크립트
- js
- linux
- environment
- sysadmin
- tcsh
- 정규표현식
- cups
- 리눅스명령어
- 터미널
- JavaScript
- UNIX
- 리눅스
- PackageManagement
- 시스템관리
Archives
- Today
- Total
ioerror
which 사용법 및 옵션 - 실행 파일의 위치(절대 경로)를 찾는 명령어 본문
반응형

which - Which
which 명령어는 시스템의 환경 변수 PATH에 등록된 디렉토리를 순회하여, 지정한 명령어의 실행 파일이 존재하는 위치(절대 경로)를 찾아 출력한다. 동일한 이름의 프로그램이 여러 디렉토리에 설치되어 있을 때 실제 실행되는 파일의 위치를 확인하는 용도로 주로 사용된다.
1. 명령어 용도
- 특정 명령어가 실행될 때 참조되는 실제 비터미널/터미널 바이너리 파일 경로 확인
- 개발 환경 구축 후 시스템에 설치된 특정 실행 파일(Python, Node.js, GCC 등)의 버전별 참조 경로 검증
- 시스템 환경 변수 PATH 내 중복된 명령어 바이너리 파일들의 우선순위 파악
2. 명령어 서식
Bash
which [옵션] [--] 명령어명 [명령어명2 ...]
3. 명령어 옵션
- 주요 옵션 소개 테이블
| 옵션 | 설명 | 사용가능 OS 및 쉘 |
| -a, --all | PATH 환경 변수에서 매칭되는 모든 실행 파일 경로를 순서대로 출력 | [Linux] [macOS] [FreeBSD] |
| -i, --read-alias | 표준 입력(stdin)으로부터 alias 목록을 읽어 매칭되는 alias 정보 출력 | [GNU/Linux] |
| --skip-alias | alias 확인 설정을 스킵함 | [GNU/Linux] |
| --skip-dot | PATH 환경 변수에 포함된 현재 디렉토리(.) 검색을 스킵함 | [GNU/Linux] |
| --skip-tilde | PATH 환경 변수에 포함된 홈 디렉토리(~) 검색을 스킵함 | [GNU/Linux] |
| --show-dot | PATH 환경 변수 내 현재 디렉토리(.)의 명시적 매칭 여부 표시 | [GNU/Linux] |
| --show-tilde | PATH 환경 변수 내 홈 디렉토리(~)의 명시적 매칭 여부 표시 | [GNU/Linux] |
| -v, -V, --version | which 명령어의 버전 정보를 출력 | [GNU/Linux] |
| --help | 명령어의 사용법 및 도움말을 출력 | [GNU/Linux] |
- 명령어 옵션 사용시 결과 예시
Bash
# 단일 명령어의 실행 경로 확인
which python3
# /usr/bin/python3
# PATH 환경 변수 전체에서 매칭되는 모든 경로 검색
which -a python3
# /usr/bin/python3
# /usr/local/bin/python3
# 존재하지 않는 명령어 검색 시 아무것도 출력하지 않고 종료 코드 1 반환
which non_existent_command
# (출력 없음)
# 여러 명령어를 동시에 검색
which gcc g++ make
# /usr/bin/gcc
# /usr/bin/g++
# /usr/bin/make
- which python3 실행 시 기본적으로 PATH에서 가장 먼저 발견된 단일 경로 /usr/bin/python3가 출력된다.
- -a 옵션을 사용할 경우 PATH 내 설정된 모든 순서를 탐색하여 발견되는 모든 파일 경로를 줄바꿈 형태로 출력한다.
4. 명령어 특이사항(유의사항)
- which 명령어는 셸 내장 명령어(Built-in Command, 예: cd, echo, pwd 등)나 셸 별칭(Alias), 셸 함수(Function)에 대한 정확한 위치를 찾지 못하거나 디스크 상의 바이너리 파일만을 기준으로 탐색하는 한계가 존재한다.
- 셸 환경 내부에서 실제 실행될 명령어의 정의나 유형을 파악하려면 which 대신 POSIX 표준 명령어인 command -v 또는 셸 내장 명령어 type을 사용하는 것이 권장된다.
- 쉘 스크립트 작성 시 이식성을 높이기 위해서는 which보다 command -v를 사용하는 것이 안전하다.
관련 명령어들
- type : 명령어가 셸 내장 명령어인지, 별칭인지, 외부 파일인지 유형을 출력한다.
- command : 셸 함수나 별칭을 우회하여 지정한 명령어를 실행하거나 위치를 반환한다.
- whereis : 명령어의 실행 파일, 소스 코드, 매뉴얼 페이지 위치를 동시에 탐색한다.
- locate : 미리 생성된 데이터베이스 목록을 기반으로 지정한 파일의 경로를 빠른 속도로 탐색한다.
https://ioerror.tistory.com/entry/UNIX-Linux-Command-Reference
UNIX & Linux Command Reference
유닉스 / 리눅스 명령어 표유닉스와 리눅스 환경에서 자주 사용되는 필수 명령어들을 완벽하게 정리한다. 서버 관리, 프로그래밍, 일상적인 시스템 운영 등 어떤 목적이든 터미널 환경을 능숙하
ioerror.tistory.com
반응형
'OS' 카테고리의 다른 글
| whoami 사용법 및 옵션 - 현재 로그인된 유효 사용자 계정명 확인 (0) | 2026.08.09 |
|---|---|
| who 사용법 및 옵션 - 현재 시스템에 로그인한 사용자 정보 확인 명령어 (0) | 2026.08.09 |
| whereis 사용법 및 옵션 - 명령어의 실행 파일, 소스, 매뉴얼 페이지 위치 검색 (0) | 2026.08.09 |
| where 사용법 및 옵션 - 지정한 명령어가 존재하는 모든 경로 및 별칭 위치를 검색하는 Shell 내장 명령어 (0) | 2026.08.09 |
| wget 사용법 및 옵션 - 웹 서버로부터 파일 다운로드 및 미러링을 수행하는 네트워크 유틸리티 (0) | 2026.08.09 |
Comments