같은 일, 더 친절한 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 를 이해 못 함. 새 이름 그대로 쓰기. 원본은 그대로 두기.