Contents
see List터미널 생산성을 바꾸는 현대적 CLI 도구
2026년 개발자의 터미널 환경은 5년 전과 완전히 달라졌다. 기존의 grep, find, cat을 대체하는 빠르고 직관적인 도구들이 표준으로 자리잡았고, AI 코딩 에이전트가 터미널에서 직접 코드를 작성하는 시대가 되었다. 설치부터 실전 활용까지 핵심 도구 12개를 정리한다.
1. ripgrep (rg) - grep 대체
ripgrep은 Rust로 작성된 초고속 검색 도구다. .gitignore를 자동으로 존중하고, 바이너리 파일을 건너뛰며, grep -r보다 수십 배 빠르다.
# 설치
brew install ripgrep # macOS
sudo apt install ripgrep # Ubuntu
# 기본 검색
rg "useState" src/
# 파일 타입 필터링
rg -t ts "interface User" # TypeScript만 검색
rg -t py "def process" # Python만 검색
rg -T test "TODO" # test 파일 제외
# 정규식 + 컨텍스트
rg "async function \w+" -C 3 # 전후 3줄 포함
# 파일명만 출력
rg -l "deprecated" # 매칭 파일 경로만
# JSON 출력 (파이프라인용)
rg --json "error" logs/2. fzf - 퍼지 파인더
fzf는 범용 퍼지 검색 도구로, 파일 찾기, 히스토리 검색, git 브랜치 전환 등 모든 곳에서 활용된다.
# 설치
brew install fzf
$(brew --prefix)/opt/fzf/install # 쉘 통합
# 파일 찾기 (Ctrl+T)
# 히스토리 검색 (Ctrl+R)
# 디렉토리 이동 (Alt+C)
# 미리보기 포함 파일 검색
fzf --preview 'bat --color=always {}'
# git 브랜치 전환
git branch | fzf | xargs git checkout
# 프로세스 종료
ps aux | fzf | awk '{print $2}' | xargs kill
# 환경변수 검색
env | fzf
# 커스텀 바인딩 (~/.zshrc)
export FZF_DEFAULT_COMMAND='fd --type f --hidden'
export FZF_CTRL_T_OPTS="--preview 'bat -n --color=always {}'"
export FZF_ALT_C_OPTS="--preview 'eza --tree --level=2 {}'"3. bat - cat 대체
bat은 구문 강조, 줄 번호, git diff 마커를 포함한 cat 대체 도구다.
# 설치
brew install bat
# 기본 사용
bat src/App.tsx
# 특정 줄 범위
bat -r 10:30 config.yaml
# 줄 번호 없이
bat -p README.md
# 특정 언어 강조
bat -l json data.txt
# 테마 변경
bat --theme="Dracula" src/main.rs
# cat 완전 대체 (~/.zshrc)
alias cat='bat --paging=never'4. eza - ls 대체
eza(구 exa)는 색상, 아이콘, git 상태를 표시하는 ls 대체 도구다.
# 설치
brew install eza
# 상세 목록 + git 상태
eza -la --git
# 트리 뷰
eza --tree --level=3 --icons
# 최근 수정 순 정렬
eza -la --sort=modified
# 특정 확장자만
eza *.ts *.tsx
# 별칭 설정 (~/.zshrc)
alias ls='eza --icons'
alias ll='eza -la --git --icons'
alias lt='eza --tree --level=3 --icons'5. fd - find 대체
fd는 find보다 빠르고 직관적인 파일 검색 도구다.
# 설치
brew install fd
# 파일명 검색
fd "config" # 이름에 config 포함
fd -e json # .json 파일만
fd -e ts -e tsx src/ # src에서 TS/TSX만
# 정규식
fd "^test_.*\.py$"
# 숨김 파일 포함
fd -H ".env"
# 디렉토리만
fd -t d "node_modules"
# 실행 조합
fd -e log -x rm # 모든 .log 삭제
fd -e png -x convert {} {.}.webp # PNG->WebP6. zoxide - cd 대체
zoxide는 사용 패턴을 학습하는 스마트 디렉토리 이동 도구다.
# 설치
brew install zoxide
echo 'eval "$(zoxide init zsh)"' >> ~/.zshrc
# 사용법 - z 명령어
z projects # ~/projects로 이동
z shorts # 최근 자주 간 shorts 디렉토리
z src comp # src/components 같은 경로 매칭
# 대화형 선택
zi projects # fzf로 후보 선택
# 목록 확인
zoxide query --list7. lazygit - Git TUI
lazygit은 터미널에서 Git을 시각적으로 관리하는 도구다.
# 설치
brew install lazygit
# 실행
lazygit
# 주요 단축키
# Space: 파일 스테이징/언스테이징
# c: 커밋
# p: 푸시
# P: 풀
# b: 브랜치 전환
# r: 리베이스
# [/]: 탭 이동
# ?: 도움말
# 설정 (~/.config/lazygit/config.yml)
gui:
theme:
activeBorderColor:
- green
- bold
showFileTree: true
showRandomTip: false8. Starship - 프롬프트
Starship은 Rust 기반 고속 쉘 프롬프트로, git 상태, 언어 버전, 실행 시간 등을 표시한다.
# 설치
brew install starship
echo 'eval "$(starship init zsh)"' >> ~/.zshrc
# 설정 (~/.config/starship.toml)
format = """
$directory\
$git_branch$git_status\
$nodejs$python$java\
$cmd_duration\
$line_break$character"""
[directory]
truncation_length = 3
truncate_to_repo = true
[git_branch]
format = "[$symbol$branch]($style) "
[git_status]
format = '[$all_status$ahead_behind]($style) '
[cmd_duration]
min_time = 2000
format = "took [$duration]($style) "9. Atuin - 쉘 히스토리
Atuin은 쉘 히스토리를 SQLite에 저장하고, 기기 간 동기화를 지원하는 도구다.
# 설치
brew install atuin
atuin init zsh >> ~/.zshrc
# Ctrl+R로 검색 (기존 히스토리 대체)
# 실행 시간, 종료 코드, 디렉토리별 필터링
# 통계 확인
atuin stats
# 특정 디렉토리에서 실행한 명령만
atuin search --cwd ~/projects/myapp
# 설정 (~/.config/atuin/config.toml)
[sync]
auto_sync = true
sync_frequency = "5m"10. delta - git diff 대체
# 설치
brew install git-delta
# ~/.gitconfig에 추가
[core]
pager = delta
[delta]
navigate = true
side-by-side = true
line-numbers = true
syntax-theme = Dracula
[merge]
conflictstyle = diff311. Claude Code - AI 코딩 에이전트
Anthropic의 Claude Code는 터미널에서 직접 코드를 읽고, 수정하고, 실행하는 AI 에이전트다.
# 설치
npm install -g @anthropic-ai/claude-code
# 실행 (프로젝트 디렉토리에서)
claude
# 주요 기능
# - 전체 코드베이스 이해 및 탐색
# - 파일 수정, 생성, 삭제
# - 터미널 명령 실행
# - git 커밋, PR 생성
# - 테스트 작성 및 실행12. jq - JSON 처리
# API 응답 처리
curl -s https://api.github.com/repos/golang/go | \
jq '{name, stars: .stargazers_count, language}'
# 배열 필터링
cat data.json | jq '.users[] | select(.age > 30)'
# 키 추출 + 정렬
jq -r '.items[].name' data.json | sort
# 여러 필드 조합
jq '.[] | "\(.name): \(.email)"' users.json한 번에 설치하기
# macOS (Homebrew)
brew install ripgrep fzf bat eza fd zoxide \
lazygit starship atuin git-delta jq
# ~/.zshrc에 추가
eval "$(zoxide init zsh)"
eval "$(starship init zsh)"
eval "$(atuin init zsh)"
alias cat='bat --paging=never'
alias ls='eza --icons'
alias ll='eza -la --git --icons'
alias find='fd'
alias grep='rg'이 12개 도구를 설치하면 터미널 작업 효율이 눈에 띄게 향상된다. 특히 ripgrep + fzf + zoxide 조합은 파일 탐색 속도를 획기적으로 개선하고, lazygit은 Git 작업 시간을 절반으로 줄여준다. 하나씩 도입하면서 자신의 워크플로우에 맞게 설정을 조정해보자.