개요

최근 몇 년 사이 기존 GNU CLI를 Rust로 대체하는 흐름이 강해지고 있습니다. Rust 기반 CLI 도구들은 공통적으로 빠름, 단일 바이너리, 의존성 최소, 크로스 플랫폼이라는 특징을 가집니다.

공통 특징:

  • 매우 빠름 — Rust 특성상 네이티브 속도
  • 단일 바이너리 — 설치/배포 간단
  • 의존성 거의 없음
  • Linux / macOS / WSL 동일하게 사용 가능

파일 / 디렉토리 탐색

fd — find 대체

fd config          # "config" 포함 파일 검색
fd .rs             # .rs 확장자 검색
fd -e py -x bat    # .py 파일을 bat으로 열기
항목내용
대체find
GitHubhttps://github.com/sharkdp/fd
  • .gitignore 자동 적용
  • 짧고 직관적인 문법
  • 정규식 + 글로브 패턴 지원

ripgrep — grep 대체

rg TODO            # 현재 디렉토리에서 TODO 검색
rg "SELECT"        # SQL 검색
rg -t py "def "    # Python 파일에서만 검색
항목내용
대체grep
GitHubhttps://github.com/BurntSushi/ripgrep
  • 코드 검색 최강 — 대형 repo에서도 빠름
  • .gitignore 자동 적용
  • 멀티코어 병렬 검색

eza — ls 대체

eza                # 기본 목록
eza -la            # 상세 + 숨김 파일
eza --tree         # 트리 출력
eza -la --git      # git 상태 표시
항목내용
대체ls, tree
GitHubhttps://github.com/eza-community/eza
  • git 상태(수정/추가/무시) 파일 옆에 표시
  • 색상 UI, 아이콘 지원
  • exa의 유지보수 포크

파일 보기 / 텍스트

bat — cat 업그레이드

bat main.py        # 신택스 하이라이트
bat -A file.txt    # 비표시 문자 표시
bat --diff file    # git diff 표시
항목내용
대체cat, less
GitHubhttps://github.com/sharkdp/bat
  • 신택스 하이라이트 (100+ 언어)
  • 줄 번호 표시
  • git diff 인라인 표시
  • 페이저(pager) 자동 적용

delta — git diff 뷰어

git diff | delta
git log -p | delta
항목내용
대체git diff 기본 뷰어
GitHubhttps://github.com/dandavison/delta
  • side-by-side diff
  • 신택스 하이라이트
  • ~/.gitconfig에 설정하면 자동 적용
# ~/.gitconfig
[core]
    pager = delta
[delta]
    side-by-side = true

fzf — 퍼지 파인더 (Go 기반)

fzf                        # 파일 검색
fd | fzf                   # fd 결과를 fuzzy 선택
history | fzf              # 히스토리 검색
fd | fzf | xargs bat       # 파일 찾기 → 선택 → 열기
항목내용
역할인터랙티브 fuzzy finder
GitHubhttps://github.com/junegunn/fzf
언어Go (Rust 아니지만 거의 필수)
  • shell 히스토리 검색 (Ctrl+R 연동)
  • 파일 인터랙티브 검색
  • 다른 CLI 도구와 파이프 조합 필수

디렉토리 이동

zoxide — cd 업그레이드

z project          # "project" 포함 자주 간 폴더로 이동
z doc              # docs, documents 등 패턴 학습
zi                 # 인터랙티브 선택 (fzf 연동)
항목내용
대체cd
GitHubhttps://github.com/ajeetdsouza/zoxide
  • 방문 빈도/최근성 기반 디렉토리 학습
  • AI처럼 이동 패턴 자동 학습
  • autojump, z의 Rust 대체
# shell 초기화 추가 (zsh)
eval "$(zoxide init zsh)"

시스템 모니터링

bottom — top / htop 대체

btm                # TUI 시스템 모니터
btm --basic        # 간소화 모드
항목내용
대체top, htop
GitHubhttps://github.com/ClementTsang/bottom
  • CPU, RAM, 네트워크, 디스크 통합 TUI
  • 프로세스 필터/정렬
  • 커스텀 레이아웃

네트워크 / 디버깅

xh — curl 대체

xh https://api.github.com
xh POST api.example.com/users name=Alice
xh -d data.json POST api.example.com/items
항목내용
대체curl, httpie
GitHubhttps://github.com/ducaale/xh
  • JSON pretty print 자동
  • curl보다 읽기 쉬운 문법
  • httpie의 Rust 재구현

bandwhich — 프로세스별 네트워크 모니터

sudo bandwhich     # 프로세스별 네트워크 사용량
항목내용
역할프로세스별 네트워크 대역폭 시각화
GitHubhttps://github.com/imsnif/bandwhich

개발자 필수 도구

hyperfine — 벤치마크

hyperfine "rg foo" "grep -r foo ."
hyperfine --warmup 3 "fd .rs"
항목내용
역할CLI 명령어 속도 비교
GitHubhttps://github.com/sharkdp/hyperfine
  • 통계적 벤치마크 (평균, 표준편차)
  • 워밍업 실행 지원
  • Markdown/CSV/JSON 출력

tokei — 코드 라인 통계

tokei              # 현재 프로젝트 언어별 라인 수
tokei src/
항목내용
역할코드 라인 카운터
GitHubhttps://github.com/XAMPPRocky/tokei
───────────────────────────────────────────────────────────────────────────────
 Language            Files        Lines         Code     Comments       Blanks
───────────────────────────────────────────────────────────────────────────────
 Rust                   12        12000        10500          800          700
 Python                  8         8000         6500          900          600

CLI UI / 프롬프트

Starship — 터미널 프롬프트

# 설치 후 shell 초기화에 추가
eval "$(starship init zsh)"
eval "$(starship init bash)"
항목내용
역할크로스 플랫폼 터미널 프롬프트
GitHubhttps://github.com/starship/starship
  • git 브랜치, 상태 표시
  • Node/Python/Rust/Go 버전 자동 감지
  • 모든 shell 지원 (zsh, bash, fish, PowerShell)
  • TOML 설정

편집기

Helix — 터미널 에디터

hx main.py         # 파일 열기
hx .               # 현재 디렉토리
항목내용
대체Neovim, Vim
GitHubhttps://github.com/helix-editor/helix
  • tree-sitter 기반 신택스 하이라이트
  • LSP 내장 (플러그인 없이 자동완성)
  • Kakoune 스타일 키바인딩 (selection-first)
  • 설정 없이 바로 사용 가능

데이터 처리

jq — JSON 처리 (C 기반, 필수)

cat data.json | jq ".name"
curl api.example.com | jq ".items[].id"
jq -r ".[] | select(.age > 30)" users.json
항목내용
역할JSON 파싱/변환
언어C (Rust 아니지만 개발자 필수)

GNU → Rust 대체 매핑

기존 도구Rust 대체주요 개선
grepripgrep10~100x 빠름, gitignore 적용
findfd직관적 문법, 빠름
catbat신택스 하이라이트, git diff
lsezagit 상태, 트리, 색상
cdzoxide스마트 디렉토리 이동
top/htopbottomTUI 통합 모니터
curlxh읽기 쉬운 문법, JSON 자동 포맷
diff (git)deltaside-by-side, 하이라이트
timehyperfine통계 벤치마크
wc -ltokei언어별 상세 통계
vim/nvimhelixLSP 내장, 설정 불필요

개발자 추천 조합 (2026)

핵심 8개 세트

# 설치 (macOS)
brew install fd ripgrep bat eza fzf zoxide git-delta starship
 
# 설치 (Ubuntu/Debian)
apt install fd-find ripgrep bat
cargo install eza zoxide git-delta starship
 
# shell 초기화 (~/.zshrc)
eval "$(zoxide init zsh)"
eval "$(starship init zsh)"
도구역할
fd파일 검색
ripgrep코드 검색
bat파일 보기
eza디렉토리 목록
fzf인터랙티브 선택
zoxide스마트 이동
deltagit diff
starship프롬프트

파이프 조합 예시

# 파일 찾기 → 선택 → 열기
fd | fzf | xargs bat
 
# 코드 검색 → 선택 → 열기
rg -l "TODO" | fzf | xargs hx
 
# 최근 폴더 인터랙티브 이동
zi

체감 TOP 5

개발자들이 가장 많이 추천하는 것:

  1. ripgrep — 코드 검색 속도가 압도적
  2. fdfind를 다시 쓸 수 없게 됨
  3. batcat의 완벽한 대체
  4. zoxide — 한번 쓰면 못 돌아감
  5. starship — 프롬프트 정보량이 올라감

요즘 스타트업 터미널 스택 (2026)

에디터: Cursor (AI) + Helix (터미널)
Shell:  zsh + starship + zoxide
탐색:   fd + ripgrep + fzf + eza
보기:   bat + delta
모니터: bottom + bandwhich
HTTP:   xh + jq
AI:     Claude Code CLI / Gemini CLI

관련 항목