C.W.K.
Stream
Lesson 01 of 08 · published

모던 대체품 — bat, eza, fd, ripgrep, dust, duf

~13 min · bat, eza, fd, ripgrep, dust, duf

Level 0창 구경꾼
0 XP0/95 lessons0/14 achievements
0/100 XP to next level100 XP to go0% complete

같은 일, 더 친절한 default

고전 Unix 도구 (cat, ls, find, grep, du, df) 대부분이 Rust / Go 모던 재작성 버전 가짐 — 친절한 default (색, gitignore 인식, 사람 읽기). 원본을 대체하지 않아 (원본은 항상 있어). 일상 인터랙티브 용도에선 인생 바뀌어.

라인업

  • bat ← cat. Syntax highlight, 줄 번호, paging.
  • eza (구 exa) ← ls. 색, git 상태, tree 모드 내장.
  • fd ← find. 친근한 문법 (fd 'name'), default 로 .gitignore 존중.
  • ripgrep (rg) ← grep. 5–10 배 빠름, binary / .gitignore / .git 무시.
  • dust ← du. 디스크 사용량 트리, 정렬, 색.
  • duf ← df. 더 깨끗한 mount 표.

한 번에 설치

brew install bat eza fd ripgrep dust duf

두 킬러 — rg 와 fd

rg TODO --type py        # Python 파일의 모든 TODO
rg -l 'class Foo' src/    # 패턴 포함 파일
rg -A 3 'def main'        # 매치 뒤 3 줄
fd '\.test\.ts$'         # TS 테스트 파일
fd -e jpg -x convert {} {.}.png   # 모든 jpg 를 png 로

원본 위에 alias 박지 마

alias cat=bat 충동 들지만 스크립트가 cat 으로 파이프할 때 bat 의 pager 를 이해 못 함. 새 이름 그대로 쓰기. 원본은 그대로 두기.

Code

일상 ripgrep 레시피·bash
# Find every Python TODO with 2 lines of context
rg --type py -C 2 TODO
# Files only (for further xargs)
rg -l 'class User' src/ | xargs wc -l
# Search inside a single dir, exclude tests
rg --glob '!**/test_*.py' 'def authenticate'
fd 패턴·bash
fd config           # all files / dirs with 'config' in the name
fd -e md            # extension filter
fd -t f -e log -d 2 # files only, .log, depth 2

External links

Exercise

라인업 설치: brew install bat eza fd ripgrep dust duf. rg TODO, fd -e md, bat ~/.zshrc, eza -lah --git, dust ~/Downloads 각자 돌리고 고전 도구보다 친절한지 직접 보기.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.