본문 바로가기
목차
shell

alias - shell에서 명령어 별칭 정의

by ds31x 2026. 5. 5.
728x90
반응형

alias는 shell에서 명령 문자열을 다른 문자열로 치환하는 기능임.

  • 실행 시점에 토큰 단위로 확장
  • 복잡한 로직 없이 단순 치환만 수행함.

alias는 라틴어 alias에서 유래됨.
의미는 “다른 이름으로(otherwise, at another time, in another way)”임.
별칭을 부여하다, 별칭 으로 사용됨.


Syntax

alias name='command'
  • = 양쪽에 공백 불가 : alias = 'ls -alF' 는 문법 오류
  • 값은 공백 및 옵션 포함 가능하므로 인용부호(single quotes 또는 double quotes) 사용 권장
  • 정의 시점이 아니라 실행 시점에 치환(expansion)

value는 single quotes 또는 double quotes로 싸여지는데 약간의 차이가 있음.

구분 single quotes ' ' double quotes " "
변수 확장 안 됨
명령 치환 안 됨
대부분의 특수문자 해석 안 됨 일부 됨
문자열을 “그대로” 보존 강함 부분적으로 보존

 

Example:

alias ll='ls -alF'
alias gs='git status'

 

https://ds31x.tistory.com/597#0-1.-single-quote-'...'

 

Shell Expansion: Brace Expansion, Tilde Expansion, Variable Expansion, Command Substitution, Arithmetic Expansion, Filed Splitti

시작하기Shell(bash, zsh 등)은 사용자가 입력한 문자열을 바로 실행하지 않는다.먼저 언어 처리 파이프라인을 거쳐문자열을 실제 실행 인자 목록으로 변환한 뒤 실행함.POSIX / bash에서 정의된 처리

ds31x.tistory.com


조회 및 제거

alias          # 전체 조회
alias ll       # 특정 alias 조회: ll 
unalias ll     # 제거

영구 적용시키기

현재 session 에만 적용되는 것이 아닌
shell 초기화 파일(shell initialization file)에 정의해야 영구 적용됨:

  • bash: ~/.bashrc
  • zsh: ~/.zshrc

이들은 resource configuration file (rc file)이라고 불림.

alias ll='ls -alF'

 

다음의 명령어를 실행하여 적용시킴 (아니면 session을 새로 시작):

source ~/.bashrc   # 또는 ~/.zshrc

동작 특성 및 한계

  • alias는 문자열 치환으로 일종의 macro-like expansion
  • parameter로 주로 사용되는 위치 인자($1 등) 전달은 불가

다음과 같은 경우 동작 안 함:

alias ll='ls -alF $1'
  • $1은 확장되지 않음

이같은 가변적인 인자를 전달하려면 function 을 사용해야 함.

 

다음은 ll을 함수로 정의한 것임.

ll() {
    ls -alF "$@"
}

정리

  • alias = 단순 치환 기반 명령어 별칭
  • = 앞뒤로 공백 금지, 값에는 인용부호 사용 권장.
  • 영구 적용은 rc 파일에 정의할 것.
  • 인자 처리 필요 시 function 사용이 보다 나은 선택임.

같이 보면 좋은 자료들

2026.01.11 - [shell] - Shell Expansion: Brace Expansion, Tilde Expansion, Variable Expansion, Command Substitution, Arithmetic Expansion, Filed Splitting, Globbing

 

Shell Expansion: Brace Expansion, Tilde Expansion, Variable Expansion, Command Substitution, Arithmetic Expansion, Filed Splitti

시작하기Shell(bash, zsh 등)은 사용자가 입력한 문자열을 바로 실행하지 않는다.먼저 언어 처리 파이프라인을 거쳐문자열을 실제 실행 인자 목록으로 변환한 뒤 실행함.POSIX / bash에서 정의된 처리

ds31x.tistory.com

2023.10.02 - [분류 전체보기] - Shell 과 CLI 명령어 요약 정리

 

Shell 과 CLI 명령어 요약 정리

Shell 이란?https://dsaint31.me/mkdocs_site/OS/console_terminal_shell_kernel/?h=shell#shell BMEConsole, Terminal, and Shell Console: 컴퓨터(주로 서버)에 command를 작성하여 입력하고 그 결과를 확인할 수 있는 (물리적) 입출력

ds31x.tistory.com

 

728x90