Contents
see List전통적인 Unix 명령어들이 Rust, Go, Zig로 재작성된 모던 CLI 도구들이 2026년에 완전히 주류가 되었습니다. ls, cat, find, grep 등의 레거시 명령어 대비 수십 배 빠른 속도, 컬러 출력, 직관적인 인터페이스를 제공합니다. 이 글에서는 실무 개발자가 즉시 도입해야 할 핵심 CLI 도구들을 설치부터 활용법까지 상세히 다룹니다.
1. eza - ls의 완벽한 대체
eza(구 exa)는 ls를 대체하는 모던 파일 목록 도구입니다. Git 상태 표시, 아이콘, 트리 뷰 등을 기본 지원합니다.
# 설치
brew install eza # macOS
sudo apt install eza # Ubuntu/Debian
pacman -S eza # Arch Linux
# 기본 사용
eza # 기본 목록
eza -la # 상세 목록 (권한, 크기, 날짜)
eza -la --icons # 파일 타입별 아이콘 표시
eza --tree --level=3 # 트리 뷰 (3단계 깊이)
eza -la --git # Git 상태 표시 (M, N, I 등)
eza -la --git-repos # Git 저장소 상태 요약
# 정렬 옵션
eza -la --sort=modified # 수정일 기준 정렬
eza -la --sort=size # 파일 크기 기준
eza -la --sort=extension # 확장자 기준
# 필터
eza -la --only-dirs # 디렉토리만
eza -la --only-files # 파일만
eza -la -I 'node_modules|.git' # 특정 패턴 제외
# 셸 별칭 설정 (~/.zshrc)
alias ls='eza'
alias ll='eza -la --icons --git'
alias lt='eza --tree --level=2 --icons'2. bat - cat의 구문 강조 버전
bat은 cat의 대체 도구로, 구문 강조, 줄 번호, Git diff 통합을 제공합니다.
# 설치
brew install bat
# 기본 사용
bat README.md # 구문 강조 + 줄 번호
bat -l json data.txt # 언어 수동 지정
bat --style=plain file.js # 줄 번호/테두리 없이
bat -A file.txt # 보이지 않는 문자 표시
# 여러 파일 비교
bat --diff file1.js file2.js
# 범위 지정
bat --line-range 10:20 main.py # 10~20번째 줄만
# 파이프라인에서 사용
curl -s https://api.example.com | bat -l json
docker logs my-app | bat -l log
# Git과 통합: 변경된 줄 하이라이트
git diff | bat
git show HEAD:src/main.js | bat -l js
# 테마 목록 확인 및 설정
bat --list-themes
export BAT_THEME="Catppuccin Mocha"
# 셸 별칭
alias cat='bat --paging=never'3. fd - find의 직관적 대체
fd는 find보다 5배 이상 빠르며, .gitignore를 자동 인식합니다.
# 설치
brew install fd
# 기본 사용
fd # 현재 디렉토리의 모든 파일
fd query # 이름에 'query' 포함된 파일
fd -e js # .js 파일만 검색
fd -e ts -e tsx # .ts와 .tsx 파일
fd -t d # 디렉토리만 검색
fd -t f # 파일만 검색
# 정규식 검색
fd '^test.*\.py$' # test로 시작하는 .py 파일
fd -g '*.config.*' # glob 패턴
# 숨김 파일 포함 / .gitignore 무시
fd -H query # 숨김 파일 포함
fd -I query # .gitignore 무시
fd -HI query # 둘 다
# 특정 디렉토리 제외
fd -E node_modules -E .git query
# 결과에 명령 실행
fd -e jpg --exec convert {} {.}.webp # jpg를 webp로 변환
fd -e ts --exec wc -l {} # ts 파일별 줄 수
# 크기/시간 필터
fd --size +1m # 1MB 이상 파일
fd --changed-within 1d # 최근 24시간 변경 파일4. ripgrep (rg) - grep의 초고속 대체
ripgrep은 가장 빠른 텍스트 검색 도구로, 대규모 코드베이스에서 필수입니다.
# 설치
brew install ripgrep
# 기본 사용
rg "pattern" # 현재 디렉토리에서 검색
rg -i "pattern" # 대소문자 무시
rg -w "word" # 단어 단위 매칭
rg -l "pattern" # 매칭되는 파일명만 출력
rg -c "pattern" # 파일별 매칭 횟수
# 컨텍스트
rg -C 3 "TODO" # 전후 3줄 포함
rg -A 5 "function" # 뒤 5줄 포함
rg -B 2 "error" # 앞 2줄 포함
# 파일 타입 필터
rg -t js "import" # JS 파일에서만 검색
rg -T test "function" # 테스트 파일 제외
rg -g '*.py' "def" # glob 패턴으로 필터
rg -g '!*.min.js' "query" # 특정 패턴 제외
# 치환 (미리보기)
rg "old_name" -r "new_name" # 치환 결과 미리보기
rg "v([0-9]+)" -r 'version $1' # 캡처 그룹 사용
# JSON 출력
rg --json "pattern" | jq '.data.lines.text'
# 멀티라인 검색
rg -U 'function.*\{[\s\S]*?return' # 여러 줄에 걸친 패턴5. fzf - 범용 퍼지 파인더
fzf는 모든 텍스트 입력에 대화형 퍼지 검색을 추가하는 만능 도구입니다.
# 설치
brew install fzf
$(brew --prefix)/opt/fzf/install # 셸 통합 설치
# 기본 사용
fzf # 파일 검색
cat file.txt | fzf # 줄 단위 검색
history | fzf # 명령어 히스토리 검색
# 셸 통합 (설치 후 자동)
# Ctrl+R: 명령어 히스토리 퍼지 검색
# Ctrl+T: 파일 퍼지 검색하여 명령줄에 삽입
# Alt+C: 디렉토리 퍼지 검색하여 cd
# 미리보기 창 활성화
fzf --preview 'bat --color=always {}'
fzf --preview 'bat --style=numbers --color=always --line-range :50 {}'
# Git 브랜치 선택
git branch | fzf | xargs git checkout
# 프로세스 킬
ps aux | fzf | awk '{print $2}' | xargs kill
# 환경 변수 (~/.zshrc)
export FZF_DEFAULT_COMMAND='fd --type f --hidden --follow --exclude .git'
export FZF_DEFAULT_OPTS='--height 40% --layout=reverse --border'
export FZF_CTRL_T_COMMAND="$FZF_DEFAULT_COMMAND"
export FZF_ALT_C_COMMAND='fd --type d --hidden --follow --exclude .git'6. zoxide - 스마트 cd
zoxide는 방문 빈도를 학습하여 디렉토리 이동을 자동화합니다.
# 설치
brew install zoxide
# 셸 초기화 (~/.zshrc)
eval "$(zoxide init zsh)"
# 사용
z projects # ~/projects로 이동 (학습된 경로)
z cla # ~/projects/claude-channel로 이동 (부분 매칭)
z proj cla # 여러 키워드 조합
zi # 대화형 선택 (fzf 통합)
# 경로 목록 확인
zoxide query -ls # 학습된 경로와 점수 표시7. delta - Git diff 시각화
# 설치
brew install git-delta
# Git 설정 (~/.gitconfig)
[core]
pager = delta
[interactive]
diffFilter = delta --color-only
[delta]
navigate = true
light = false
side-by-side = true
line-numbers = true
syntax-theme = "Catppuccin Mocha"
# 사용: git diff가 자동으로 delta를 사용
git diff
git log -p
git show HEAD
git diff --staged전체 설치 원라이너
# macOS (Homebrew)
brew install eza bat fd ripgrep fzf zoxide git-delta starship
# Ubuntu/Debian
sudo apt install eza bat fd-find ripgrep fzf zoxide git-delta
# 셸 설정 (~/.zshrc) 최종
alias ls='eza'
alias ll='eza -la --icons --git'
alias lt='eza --tree --level=2 --icons'
alias cat='bat --paging=never'
alias find='fd'
alias grep='rg'
eval "$(zoxide init zsh)"
eval "$(fzf --zsh)"
eval "$(starship init zsh)"모던 CLI 도구는 단순히 보기 좋은 것을 넘어, 실제 작업 속도를 크게 향상시킵니다. 특히 ripgrep의 검색 속도, fd의 직관적인 문법, fzf의 대화형 검색은 한 번 사용하면 레거시 명령어로 돌아갈 수 없을 만큼 생산성 차이가 큽니다. 오늘 바로 설치해서 사용해보기를 강력히 권장합니다.