macOS/Linux에서 fd·bat 설치: 파일 찾기, 구문 강조 cat, rg와 파이프
fd/bat 설치 후 첫 검색·하이라이트를 실행하고 rg와 연결.
저장소에서 find와 cat만 쓰면 금방 한계가 옵니다. fd와 bat은 Rust 기반 대안으로, fd는 .gitignore를 존중하며 이름·확장자로 경로를 찾고, bat은 cat에 구문 강조와 줄 번호를 더합니다. macOS/Linux 설치, fd로 찾기, bat으로 읽기, rg/grep과 조합을 hereink 독자용으로 정리합니다.
검색어는 macOS/Linux에서 fd와 bat CLI 설치 방법입니다. 두 명령을 설치하고 첫 fd/bat을 실행한 뒤, 파일 찾기와 내용 검색을 파이프로 연결할 수 있어야 합니다.
fd와 bat이 해결하는 것
find 대신 fd
find . -name '*.ts'는 길고 node_modules까지 들어갑니다. fd는 기본 재귀·무시 규칙, -e/-t 필터.
읽기 쉬운 cat
bat src/main.rs로 하이라이트. --paging=never로 페이저 끄기.
공식:
github.com/sharkdp/fd,github.com/sharkdp/bat.fd --version,bat --version.
macOS·Linux 설치
- 1macOS(Homebrew)
brew install fd bat. - 2Debian/Ubuntu
sudo apt update && sudo apt install fd-find bat. 바이너리가fdfind면alias fd=fdfind. - 3Fedora/Arch
sudo dnf install fd bat또는sudo pacman -S fd bat. - 4선택: Rust
cargo install fd-find bat.
fd로 파일 찾기
fd config
fd -e tsx
fd -t f README
fd -i dockerfilebat으로 보기
bat src/lib/utils.ts
bat --paging=never Dockerfile
bat -n package.jsongrep / ripgrep(rg)와 조합
| 목표 | 예 | 메모 |
|---|---|---|
| 확장자로 좁혀 검색 | fd -e py | xargs rg "def main" | fd로 .py, rg로 내용 |
| 검색 후 하이라이트 | rg -l "TODO" src | xargs bat | rg -l은 파일명만 |
| grep | fd -e sh | xargs grep -n "set -e" | rg 없을 때 |
- 맞음
- monorepo에서 설정·스크립트·로그를 매일 다루는 개발자.
- 안 맞음
- IDE 전역 리팩터. Windows는 scoop 등(README).
Ubuntu에 fd 대신 fdfind?
Debian 계열은 fd-find 패키지로 fdfind일 수 있습니다. alias fd=fdfind.
bat이 cat 완전 대체?
사람이 읽을 때 유용. 파이프는 bat --paging=never --plain 또는 cat.
fd vs find?
mtime·권한 등 복잡 조건은 find. 이름·확장자 빠른 목록은 fd.