개요
**Zsh(Z Shell)**는 bash를 확장한 강력한 셸. macOS Catalina(2019)부터 기본 셸로 채택. 풍부한 플러그인 생태계(Oh My Zsh)로 인기.
설치 및 기본 설정
# Ubuntu
sudo apt install zsh
# 기본 셸 변경
chsh -s $(which zsh)
# Oh My Zsh 설치
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
Oh My Zsh 필수 플러그인
# ~/.zshrc
plugins=(
git
zsh-autosuggestions # 히스토리 기반 자동완성
zsh-syntax-highlighting # 명령어 색상 하이라이팅
z # 자주 가는 디렉토리 빠른 이동
fzf # 퍼지 검색
docker
kubectl
)
플러그인 설치
# zsh-autosuggestions
git clone https://github.com/zsh-users/zsh-autosuggestions \
${ZSH_CUSTOM}/plugins/zsh-autosuggestions
# zsh-syntax-highlighting
git clone https://github.com/zsh-users/zsh-syntax-highlighting \
${ZSH_CUSTOM}/plugins/zsh-syntax-highlighting
인기 테마
| 테마 | 특징 |
|---|
| Powerlevel10k (p10k) | 빠름, 아이콘 지원, 설정 마법사, 최고 인기 |
| Starship | Rust 기반, 크로스셸(bash/zsh/fish) |
| robbyrussell | Oh My Zsh 기본 테마, 단순 |
| agnoster | Git 상태 표시, 클래식 |
# Powerlevel10k 설치
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git \
${ZSH_CUSTOM}/themes/powerlevel10k
# ~/.zshrc
ZSH_THEME="powerlevel10k/powerlevel10k"
Bash 대비 장점
| 기능 | bash | zsh |
|---|
| 탭 자동완성 | 기본 | 메뉴형, 대소문자 무시 옵션 |
| 글로브 확장 | 기본 | 재귀(**), 부정(^) 등 확장 |
| 철자 교정 | ❌ | ✅ (setopt correct) |
| 테마/프롬프트 | 수동 | Oh My Zsh 생태계 |
| 공유 히스토리 | 세션 종료 후 | 실시간 공유 가능 |
유용한 zsh 설정
# ~/.zshrc
setopt HIST_IGNORE_DUPS # 중복 히스토리 제거
setopt SHARE_HISTORY # 세션 간 히스토리 공유
setopt AUTO_CD # 디렉토리 이름만 입력해도 cd
setopt CORRECT # 철자 오류 수정 제안
HISTSIZE=10000
SAVEHIST=10000
관련 항목