전체 검색

제목·요약·본문으로 찾아보세요.

도구·워크플로2분터미널도구

[Mac] 유용한 터미널 툴 모음

macOS 터미널에서 bat, lsd, fd, ripgrep, zoxide가 cat, ls, find, grep, cd를 대신하며, 서로 이어 쓰면 파일 탐색이 빨라진다.

목차

자주 쓰는 명령어를 더 나은 도구로 바꿔 써 보자.

zsh 기준으로 설치와 설정을 적는다.


bat

cat 대체

cat bat
  • 설치: brew install bat
    cat을 완전히 대체하려면 .zshrc에 alias cat="bat"를 지정한다.

  • 특징: 위 이미지로 대체한다.
    bat는 여러 테마도 제공하므로 bat --list-themes로 원하는 테마를 찾아 적용한다 (위 이미지는 기본 테마).

lsd

ls 대체

기존 lsd 적용 후
ls lsd
  • 설치: brew install lsd
    아이콘이 깨진다면 Nerd Fonts를 설치한다.
    alias로 지정해 사용한다.
Bash
    # 기본 ls 대체 (숨김 파일 안 보임)
	alias ls='lsd --group-dirs first'

	# la: 숨김 파일 포함 + 간략 보기
	alias la='lsd -a --group-dirs first'

	# ll: 숨김 파일 포함 + 상세 보기
	alias ll='lsd -alh --group-dirs first'

	# lt: 트리 구조로 보기 (lt2: 2 depth)
	alias lt='lsd --tree --group-dirs first'
	alias lt2='lsd --tree --depth 2 --group-dirs first'
  • 특징: exa나 eza도 유명하지만 lsd가 더 깔끔해 보여 사용한다.

fd

find 대체

예시 find fd
단어로 찾기
확장자로 찾기
  • 설치: brew install fd

  • 특징: find보다 명령어가 직관적이고 빠르며 출력도 보기 좋다.

ripgrep (rg)

grep 대체

grep ripgrep
grep ripgrep
  • 설치: brew install ripgrep

  • 특징: grep보다 옵션이 직관적이고 빠르며, 별도 설정 없이도 기본 출력이 읽기 좋다.

zoxide

cd 대체

  • 설치:
  1. brew install zoxide
  2. .zshrc에 아래를 추가한다. 기본 명령어는 z이며, cd를 완전히 대체하려면 별칭을 지정한다.
Bash
alias cd='z' # cd 대체
eval "$(zoxide init zsh)"
  • 특징: 자주 이동하는 디렉토리를 기억한다.
    • 자주 이동하는 디렉토리를 기억한다. (z로 이동시 해당 디렉토리에 point 적립)
    • 그러면 추후 경로의 일부만 입력하면 가장 적합한(point가 높은) 디렉토리로 점프
    • point 기반으로 최근/자주 방문한 디렉토리가 우선권을 가진다.

😲 One More Thing

fzf

Fuzzy 검색 도구다. 활용 범위가 넓지만, 여기서는 간단한 예만 든다.

  • history | fzf: history에서 fzf로 검색

  • 설치:

    1. brew install fzf
    2. .zshrc에 eval "$(fzf --zsh)"를 추가한다.
  • 특징: 활용 범위가 넓다. 여기서는 한 가지 예만 든다.

zf (custom)

앞서 소개한 zoxide, lsd, fzf를 조합해 만든 커스텀 명령어다.

  1. 기본 개념

    • zoxide → 자주 가는 디렉토리 기록/검색
    • fzf → 검색 UI
    • lsd → 디렉토리 내용 예쁘게 출력
  2. 결합 아이디어

    1. zoxide로 후보 디렉토리를 불러오고
    2. fzf로 선택 → lsd로 해당 디렉토리 미리보기
    3. 이동 및 lsd로 출력
  3. 적용
    .zshrc에 아래 함수를 추가한다. 명령어 이름과 옵션 값은 필요에 맞게 조정한다.

Bash
# zoxide + fzf + lsd 미리보기
zf() {
  local dir
  # zoxide query + fzf with lsd preview
  dir=$(zoxide query -l | fzf \
    --prompt="📂 Select directory: " \
    --height=60% \
    --reverse \
    --preview 'lsd --tree --depth 2 --group-dirs first --color=always --icon=always {}' \
    --preview-window=right:40%:wrap)

  # 선택 취소시 종료
  [[ -z "$dir" ]] && return

  # 이동 알림 및 이동
  echo "📁 Moving to: $dir"
  z "$dir" || return
  # 이동 후 lsd 출력
  lsd --group-dirs first
}

실행 결과


[Mac] 유용한 터미널 툴 모음