SOFTMOA TECHNOLOGY

2026년 필수 CLI 도구 모음: 터미널 생산성을 10배 높이는 모던 명령어

소프트모아가 정리한 기술 기록입니다.

Contents
작성일 2026. 04. 04.

전통적인 Unix 명령어들이 Rust, Go, Zig로 재작성된 모던 CLI 도구들이 2026년에 완전히 주류가 되었습니다. ls, cat, find, grep 등의 레거시 명령어 대비 수십 배 빠른 속도, 컬러 출력, 직관적인 인터페이스를 제공합니다. 이 글에서는 실무 개발자가 즉시 도입해야 할 핵심 CLI 도구들을 설치부터 활용법까지 상세히 다룹니다.

1. eza - ls의 완벽한 대체

eza(구 exa)는 ls를 대체하는 모던 파일 목록 도구입니다. Git 상태 표시, 아이콘, 트리 뷰 등을 기본 지원합니다.

# 설치
brew install eza          # macOS
sudo apt install eza      # Ubuntu/Debian
pacman -S eza             # Arch Linux

# 기본 사용
eza                       # 기본 목록
eza -la                   # 상세 목록 (권한, 크기, 날짜)
eza -la --icons           # 파일 타입별 아이콘 표시
eza --tree --level=3      # 트리 뷰 (3단계 깊이)
eza -la --git             # Git 상태 표시 (M, N, I 등)
eza -la --git-repos       # Git 저장소 상태 요약

# 정렬 옵션
eza -la --sort=modified   # 수정일 기준 정렬
eza -la --sort=size       # 파일 크기 기준
eza -la --sort=extension  # 확장자 기준

# 필터
eza -la --only-dirs       # 디렉토리만
eza -la --only-files      # 파일만
eza -la -I 'node_modules|.git'  # 특정 패턴 제외

# 셸 별칭 설정 (~/.zshrc)
alias ls='eza'
alias ll='eza -la --icons --git'
alias lt='eza --tree --level=2 --icons'

2. bat - cat의 구문 강조 버전

bat은 cat의 대체 도구로, 구문 강조, 줄 번호, Git diff 통합을 제공합니다.

# 설치
brew install bat

# 기본 사용
bat README.md             # 구문 강조 + 줄 번호
bat -l json data.txt      # 언어 수동 지정
bat --style=plain file.js # 줄 번호/테두리 없이
bat -A file.txt           # 보이지 않는 문자 표시

# 여러 파일 비교
bat --diff file1.js file2.js

# 범위 지정
bat --line-range 10:20 main.py  # 10~20번째 줄만

# 파이프라인에서 사용
curl -s https://api.example.com | bat -l json
docker logs my-app | bat -l log

# Git과 통합: 변경된 줄 하이라이트
git diff | bat
git show HEAD:src/main.js | bat -l js

# 테마 목록 확인 및 설정
bat --list-themes
export BAT_THEME="Catppuccin Mocha"

# 셸 별칭
alias cat='bat --paging=never'

3. fd - find의 직관적 대체

fd는 find보다 5배 이상 빠르며, .gitignore를 자동 인식합니다.

# 설치
brew install fd

# 기본 사용
fd                        # 현재 디렉토리의 모든 파일
fd query                  # 이름에 'query' 포함된 파일
fd -e js                  # .js 파일만 검색
fd -e ts -e tsx           # .ts와 .tsx 파일
fd -t d                   # 디렉토리만 검색
fd -t f                   # 파일만 검색

# 정규식 검색
fd '^test.*\.py$'         # test로 시작하는 .py 파일
fd -g '*.config.*'        # glob 패턴

# 숨김 파일 포함 / .gitignore 무시
fd -H query               # 숨김 파일 포함
fd -I query               # .gitignore 무시
fd -HI query              # 둘 다

# 특정 디렉토리 제외
fd -E node_modules -E .git query

# 결과에 명령 실행
fd -e jpg --exec convert {} {.}.webp   # jpg를 webp로 변환
fd -e ts --exec wc -l {}               # ts 파일별 줄 수

# 크기/시간 필터
fd --size +1m             # 1MB 이상 파일
fd --changed-within 1d    # 최근 24시간 변경 파일

4. ripgrep (rg) - grep의 초고속 대체

ripgrep은 가장 빠른 텍스트 검색 도구로, 대규모 코드베이스에서 필수입니다.

# 설치
brew install ripgrep

# 기본 사용
rg "pattern"              # 현재 디렉토리에서 검색
rg -i "pattern"           # 대소문자 무시
rg -w "word"              # 단어 단위 매칭
rg -l "pattern"           # 매칭되는 파일명만 출력
rg -c "pattern"           # 파일별 매칭 횟수

# 컨텍스트
rg -C 3 "TODO"            # 전후 3줄 포함
rg -A 5 "function"        # 뒤 5줄 포함
rg -B 2 "error"           # 앞 2줄 포함

# 파일 타입 필터
rg -t js "import"         # JS 파일에서만 검색
rg -T test "function"     # 테스트 파일 제외
rg -g '*.py' "def"        # glob 패턴으로 필터
rg -g '!*.min.js' "query" # 특정 패턴 제외

# 치환 (미리보기)
rg "old_name" -r "new_name"      # 치환 결과 미리보기
rg "v([0-9]+)" -r 'version $1'  # 캡처 그룹 사용

# JSON 출력
rg --json "pattern" | jq '.data.lines.text'

# 멀티라인 검색
rg -U 'function.*\{[\s\S]*?return' # 여러 줄에 걸친 패턴

5. fzf - 범용 퍼지 파인더

fzf는 모든 텍스트 입력에 대화형 퍼지 검색을 추가하는 만능 도구입니다.

# 설치
brew install fzf
$(brew --prefix)/opt/fzf/install  # 셸 통합 설치

# 기본 사용
fzf                       # 파일 검색
cat file.txt | fzf         # 줄 단위 검색
history | fzf              # 명령어 히스토리 검색

# 셸 통합 (설치 후 자동)
# Ctrl+R: 명령어 히스토리 퍼지 검색
# Ctrl+T: 파일 퍼지 검색하여 명령줄에 삽입
# Alt+C: 디렉토리 퍼지 검색하여 cd

# 미리보기 창 활성화
fzf --preview 'bat --color=always {}'
fzf --preview 'bat --style=numbers --color=always --line-range :50 {}'

# Git 브랜치 선택
git branch | fzf | xargs git checkout

# 프로세스 킬
ps aux | fzf | awk '{print $2}' | xargs kill

# 환경 변수 (~/.zshrc)
export FZF_DEFAULT_COMMAND='fd --type f --hidden --follow --exclude .git'
export FZF_DEFAULT_OPTS='--height 40% --layout=reverse --border'
export FZF_CTRL_T_COMMAND="$FZF_DEFAULT_COMMAND"
export FZF_ALT_C_COMMAND='fd --type d --hidden --follow --exclude .git'

6. zoxide - 스마트 cd

zoxide는 방문 빈도를 학습하여 디렉토리 이동을 자동화합니다.

# 설치
brew install zoxide

# 셸 초기화 (~/.zshrc)
eval "$(zoxide init zsh)"

# 사용
z projects         # ~/projects로 이동 (학습된 경로)
z cla              # ~/projects/claude-channel로 이동 (부분 매칭)
z proj cla         # 여러 키워드 조합
zi                 # 대화형 선택 (fzf 통합)

# 경로 목록 확인
zoxide query -ls   # 학습된 경로와 점수 표시

7. delta - Git diff 시각화

# 설치
brew install git-delta

# Git 설정 (~/.gitconfig)
[core]
    pager = delta
[interactive]
    diffFilter = delta --color-only
[delta]
    navigate = true
    light = false
    side-by-side = true
    line-numbers = true
    syntax-theme = "Catppuccin Mocha"

# 사용: git diff가 자동으로 delta를 사용
git diff
git log -p
git show HEAD
git diff --staged

전체 설치 원라이너

# macOS (Homebrew)
brew install eza bat fd ripgrep fzf zoxide git-delta starship

# Ubuntu/Debian
sudo apt install eza bat fd-find ripgrep fzf zoxide git-delta

# 셸 설정 (~/.zshrc) 최종
alias ls='eza'
alias ll='eza -la --icons --git'
alias lt='eza --tree --level=2 --icons'
alias cat='bat --paging=never'
alias find='fd'
alias grep='rg'
eval "$(zoxide init zsh)"
eval "$(fzf --zsh)"
eval "$(starship init zsh)"

모던 CLI 도구는 단순히 보기 좋은 것을 넘어, 실제 작업 속도를 크게 향상시킵니다. 특히 ripgrep의 검색 속도, fd의 직관적인 문법, fzf의 대화형 검색은 한 번 사용하면 레거시 명령어로 돌아갈 수 없을 만큼 생산성 차이가 큽니다. 오늘 바로 설치해서 사용해보기를 강력히 권장합니다.

Share this

Tool

Have a questions?

견적 및 기술문의

mobile : 010-7931-4813

Contact Form