개요

**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)빠름, 아이콘 지원, 설정 마법사, 최고 인기
StarshipRust 기반, 크로스셸(bash/zsh/fish)
robbyrussellOh My Zsh 기본 테마, 단순
agnosterGit 상태 표시, 클래식
# Powerlevel10k 설치
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git \
    ${ZSH_CUSTOM}/themes/powerlevel10k
 
# ~/.zshrc
ZSH_THEME="powerlevel10k/powerlevel10k"

Bash 대비 장점

기능bashzsh
탭 자동완성기본메뉴형, 대소문자 무시 옵션
글로브 확장기본재귀(**), 부정(^) 등 확장
철자 교정✅ (setopt correct)
테마/프롬프트수동Oh My Zsh 생태계
공유 히스토리세션 종료 후실시간 공유 가능

유용한 zsh 설정

# ~/.zshrc
setopt HIST_IGNORE_DUPS      # 중복 히스토리 제거
setopt SHARE_HISTORY         # 세션 간 히스토리 공유
setopt AUTO_CD               # 디렉토리 이름만 입력해도 cd
setopt CORRECT               # 철자 오류 수정 제안
HISTSIZE=10000
SAVEHIST=10000

관련 항목