본문 바로가기
Etc2026년 4월 19일6분 읽기

개발자가 꼭 써봐야 할 터미널 CLI 도구 20선 — fzf·lazygit·bat·eza·zellij 실전 추천

YS
김영삼
조회 737

왜 CLI 도구인가

에디터만 바꿔도 생산성이 바뀌듯, 터미널 주변을 현대화하면 매일의 마찰이 크게 줄어든다. 아래 20개 중 3개만 익혀도 평생 쓴다.

🔍 검색·탐색

1. fzf — 퍼지 파인더

모든 것의 기본. Ctrl-R 히스토리 검색, **<Tab> 경로 완성.

vim $(fzf)
git checkout $(git branch | fzf)

2. ripgrep(rg) — 초고속 grep

.gitignore 존중, 병렬 탐색. grep보다 5~10배 빠르다.

rg "TODO" --type ts

3. fd — find 대체

직관적인 인자, 컬러 출력, 기본이 정규식.

fd '\.test\.ts$'

4. zoxide — cd 스마트 버전

자주 간 디렉터리를 학습해 z foo로 점프.

📁 파일 보기·편집

5. bat — cat + 문법 하이라이트

bat src/index.ts
bat --diff file.ts   # git diff 프리뷰

6. eza — ls 대체

git 상태·트리·아이콘 표시. ls-tree보다 예쁜 결과.

eza -l --git --icons --tree --level 2

7. delta — git diff pager

git diff를 IDE 수준으로 예쁘게. side-by-side 모드도 지원.

# ~/.gitconfig
[core] pager = delta
[delta] side-by-side = true

8. dust — du 대체

디스크 점유율을 트리와 바 그래프로.

🖥 시스템 모니터

9. btop — htop 대체

컬러풀한 프로세스 모니터. CPU·메모리·네트워크·디스크 통합.

10. procs — ps 대체

트리·컬러·정렬. 가독성 압도적.

11. bandwhich — 네트워크 사용량

프로세스별 실시간 업·다운 대역폭. 디버깅용 필수.

🔧 Git 워크플로

12. lazygit — git TUI

스테이징·커밋·rebase를 키보드로. 로그 그래프 탐색도 압도적. git 체험의 축이 바뀐다.

13. gh — GitHub CLI

PR 생성·리뷰·머지, 이슈 관리, 워크플로 재실행을 터미널에서.

gh pr create -f
gh pr checkout 123
gh run watch

14. git-absorb — 자동 fixup

변경 사항을 가장 관련 깊은 기존 커밋에 자동 흡수. rebase 정리용.

🪟 세션·터미널

15. zellij — 현대적 tmux

tmux보다 설정이 단순하고 UI가 친절. 레이아웃 파일로 워크스페이스 저장·복원.

16. starship — 초고속 프롬프트

shell 중립(bash/zsh/fish/nu). git·venv·node 버전 등을 10ms 이내 표시.

17. atuin — shell 히스토리 공유

여러 머신의 shell 히스토리를 암호화해 동기화. 맥·리눅스·SSH 세션 사이를 이어서 쓸 수 있다.

🧰 유틸·자동화

18. just — Makefile의 현대판

Makefile 문법 지옥 없이 스크립트 태스크 러너. .justfile에 레시피.

# justfile
dev: install; npm run dev
test: ; bun test
deploy VERSION: ; fly deploy -v {{VERSION}}

19. entr — 파일 변경 감지 → 명령 실행

ls src/*.ts | entr -c npm test

20. httpie / xh — 예쁜 curl

JSON 직관적, 컬러 출력, 세션 저장. API 디버깅이 즐거워진다.

xh POST api.example.com/users name=Alice role=admin

설치 — Homebrew 한 줄

brew install fzf ripgrep fd zoxide bat eza git-delta dust \
             btop procs bandwhich lazygit gh starship atuin \
             just entr xh zellij

Ubuntu·Arch는 각 도구 README 참고. 대부분 apt·pacman·cargo install로 설치된다.

셸 설정 필수 별칭

# ~/.zshrc
alias ls='eza --icons'
alias ll='eza -l --git --icons'
alias cat='bat --paging=never'
alias cd='z'
eval "$(starship init zsh)"
eval "$(zoxide init zsh)"
eval "$(atuin init zsh)"
# fzf 키 바인딩
source <(fzf --zsh)

일주일 도입 플랜

  1. 1~2일: fzf, ripgrep, bat, eza — 매일 쓰는 명령 교체
  2. 3~4일: lazygit, delta — git 워크플로 정비
  3. 5일: starship, zoxide — 프롬프트와 cd 개선
  4. 6~7일: zellij, just, atuin — 세션·태스크·히스토리

자주 묻는 질문

전부 다 써야 하나?

아니다. fzf + ripgrep + bat + lazygit 4개만 익혀도 체감 변화가 크다. 나머지는 필요할 때 찾아 쓰면 된다.

Linux 서버에도 설치해야 하나?

서버는 기본 도구(grep/find/ls) 유지 권장. 로컬 개발 머신과 서버의 툴을 섞으면 습관이 꼬인다.

Windows는?

WSL2 + 위 설치 동일. 네이티브 PowerShell에서 쓰려면 Scoop으로 상당수 설치 가능하지만 경험은 WSL이 훨씬 자연스럽다.

댓글 0

아직 댓글이 없습니다.
Ctrl+Enter로 등록