C.W.K.
Stream
Lesson 04 of 10 · published

Alias vs Function

~10 min · alias, function

Level 0창 구경꾼
0 XP0/95 lessons0/14 achievements
0/100 XP to next level100 XP to go0% complete

단축의 두 방법

alias 는 문자열 치환. alias ll='ls -lah' 는 'll 치면 ls -lah 실행'. function 은 작은 프로그램. 인자 받고, 로직 있고, 다른 command 호출 가능.

alias 규칙

  • alias name='command' — 정의.
  • = 양옆 공백 없음.
  • 값은 인용 (단일 따옴표 권장).
  • alias 는 자연스럽게 인자 못 받음 — 단순 텍스트 치환.
  • unalias name — 제거.
  • 인자 없는 alias — 모든 alias 나열.

function 규칙

  • name() { commands; } — POSIX.
  • function name { commands; } — bash/zsh.
  • $1, $2, ... 인자. $@ 전부.
  • local var=value 가 함수 내 변수.
  • unset -f name — 제거.

언제 어느 쪽?

  • command 에 flag 추가? → alias.
  • 인자 조작? → function.
  • 여러 줄? → function.
  • 긴 command 의 한 글자 단축? → alias.

흔한 패턴

alias ll='ls -lah'
alias gst='git status'
alias gco='git checkout'
alias ports='lsof -iTCP -sTCP:LISTEN -P -n'

mkcd() { mkdir -p "$1" && cd "$1"; }
extract() {
  case "$1" in
    *.tar.gz|*.tgz) tar xzf "$1" ;;
    *.zip)          unzip "$1" ;;
    *.tar.bz2)      tar xjf "$1" ;;
    *) echo 'unknown archive' ;;
  esac
}

Code

추가 후 사용·bash
alias ll='ls -lah'
ll ~
mkcd() { mkdir -p "$1" && cd "$1"; }
mkcd ~/sandbox/2026/05
pwd

External links

Exercise

.zshrc 에 alias 3 개 추가: ll='ls -lah', gst='git status', ports='lsof -iTCP -sTCP:LISTEN -P -n'. mkcd function 도. exec zsh reload 후 각각 테스트.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.