ioerror

type 사용법 및 옵션 - 명령어의 종류 및 해석 방식 확인 본문

OS

type 사용법 및 옵션 - 명령어의 종류 및 해석 방식 확인

반응형

type - Display Information About Command Type

type - Display Information About Command Type

지정한 명령어가 쉘 내장 명령어(Built-in), 외부 실행 파일(Executable), 쉘 함수(Function), 별칭(Alias), 또는 키워드(Keyword)인지 식별하여 출력하는 쉘 내장 유틸리티이다. 쉘이 해당 명령어를 실행할 때 적용하는 우선순위와 실제 실행되는 파일의 경로를 파악할 수 있다. 쉘 환경 구성 점검이나 스크립트 디버깅 시 자주 활용되며, 대부분의 POSIX 준수 쉘(Bash, Zsh, Sh 등)에 기본 탑재되어 있다.

1. type 용도

  • 특정 명령어가 쉘 내장 명령어인지 /bin, /usr/bin 등의 외부 바이너리 파일인지 구분
  • Alias(별칭)가 적용된 명령어의 실제 원본 명령 및 옵션 확인
  • 동일한 이름의 명령어가 여러 위치에 존재할 때 쉘이 우선적으로 실행하는 경로 추적
  • 스크립트 작성 시 특정 명령의 존재 여부 및 쉘 함수 정의 확인 시 StackOverflow 등에서 자주 권장되는 진단 명령

2. type 서식

Bash
 
type [옵션] [명령어명 ...]

3. type 옵션

옵션 설명 사용가능 OS 및 쉘
-a PATH 환경변수에 등록된 경로 중 해당 명령어의 모든 위치를 출력 All
-t 명령어의 유형을 단순 단어(alias, keyword, function, builtin, file)로만 출력 All
-p 명령어가 외부 실행 파일인 경우에만 해당 경로를 출력 All
-P Alias나 쉘 함수를 무시하고 PATH 내의 외부 실행 파일 경로만 강제 검색 All
-f 쉘 함수 검색을 건너뜀 [Bash]

명령어 옵션 사용 예시

Bash
 
# 1. 명령어의 기본 유형 및 경로 확인
type ls
# ls is aliased to `ls --color=auto'

# 2. PATH 상의 모든 검색 결과 경로 확인 (-a)
type -a echo
# echo is a shell builtin
# echo is /usr/bin/echo

# 3. 명령어의 유형만 간결하게 출력 (-t)
type -t cd
# builtin

# 4. 외부 실행 파일 경로만 식별 (-p)
type -p python3
# /usr/bin/python3
  • alias: alias 명령으로 정의된 별칭
  • builtin: 쉘 내부에서 직접 제공하는 내장 명령어
  • file: PATH 환경변수 내의 디스크 디렉터리에 존재하는 외부 실행 파일
  • function: 쉘 세션 내에 정의된 사용자 함수
  • keyword: if, for, while 등 쉘 예약어

4. type 특이사항(유의사항)

  • 쉘 내장 명령어의 특성: type은 독립된 바이너리 파일이 아니라 쉘 내장 명령어(Shell Builtin)이다. 따라서 which type 실행 시 경로가 출력되지 않거나 찾을 수 없다는 결과가 반환된다.
  • which 명령어와의 차이점: External 파일의 경로만 찾아주는 which와 달리, type은 Alias, 쉘 함수, Builtin 명령까지 정확하게 구분해 내므로 쉘 환경 내에서의 실제 동작 결과를 예측하는 데 훨씬 정확하다.
  • 실행 우선순위 확인: 쉘은 동일한 이름이 존재할 경우 Alias -> Function -> Builtin -> PATH 경로의 Executable File 순으로 실행한다. type -a 옵션을 사용하면 이러한 실행 우선순위 전체 목록을 식별할 수 있다.

관련 명령어들

  • which: PATH 환경변수에 등록된 디렉터리 내에서 실행 파일의 경로만 검색하는 명령어
  • whereis: 명령어의 바이너리, 소스, 매뉴얼 페이지 파일 위치를 함께 검색하는 명령어
  • command: Alias나 쉘 함수를 무시하고 지정한 명령을 직접 실행하거나 유형을 확인하는 내장 명령어
  • alias: 자주 사용하는 명령어와 옵션을 단축어로 등록하거나 확인하는 명령어

https://ioerror.tistory.com/entry/UNIX-Linux-Command-Reference

 

UNIX & Linux Command Reference

유닉스 / 리눅스 명령어 표유닉스와 리눅스 환경에서 자주 사용되는 필수 명령어들을 완벽하게 정리한다. 서버 관리, 프로그래밍, 일상적인 시스템 운영 등 어떤 목적이든 터미널 환경을 능숙하

ioerror.tistory.com

 

반응형
Comments