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 사용이 보다 나은 선택임.
같이 보면 좋은 자료들
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
'shell' 카테고리의 다른 글
| batch 스크립트: showpath.bat (0) | 2026.03.16 |
|---|---|
| echo 와 printf (0) | 2026.01.12 |
| Shell Expansion: Brace Expansion, Tilde Expansion, Variable Expansion, Command Substitution, Arithmetic Expansion, Filed Splitting, Globbing (0) | 2026.01.11 |
| Shell Initialization File-dot files: .profile, .bashrc, .zprofile, .zshrc (0) | 2026.01.02 |
| grep (Global Regular Expression Print) (0) | 2025.12.31 |