English

bat — 문법 강조 cat

Linux / 모던 CLI 도구 / bat.html

모던 CLI 도구원문등록 2026-10-18T22:00:00+09:00

💬 "bat 명령어"

bat는 cat을 대체하는 문법 강조 파일 뷰어입니다. Rust로 만들어졌고, 색상, 줄 번호, git 변경 표시를 기본으로 지원합니다.

cat과 거의 동일한 명령 구조라 기존 스크립트에 그대로 끼워 넣을 수 있습니다.

  • 개념: 파일 내용을 문법 강조와 함께 출력합니다.
  • cat 대체: cat과 같은 위치에서 파일을 보여주되 더 많은 정보를 제공합니다.
  • --number: 줄 번호를 함께 표시합니다.
  • --diff: git 변경 파일이면 diff 모드로 보여줍니다.

설치 및 다운로드

bat는 패키지 매니저로 설치합니다. Debian/Ubuntu에서는 패키지 이름이 batcat입니다.

환경명령
Ubuntu / Debiansudo apt install batcat
Fedora / RHELsudo dnf install bat
Archsudo pacman -S bat
macOS (brew)brew install bat
Rust cargocargo install bat
바이너리 다운로드github.com/sharkdp/bat/releases

설치 확인은 bat --version 또는 batcat --version으로 합니다.

자주 쓰는 옵션

옵션설명
-n / --number줄 번호를 표시합니다
--style=numbers,changes줄 번호와 git 변경 표시를 켭니다
--diffgit 변경 파일을 diff 모드로 출력합니다
-A / --show-all탭·줄바꿈 등 보이지 않는 문자를 표시합니다
--theme=Dracula테마를 변경합니다

필수 명령어 조합 3가지

  • bat -A config.conf — 보이지 않는 문자까지 포함해 설정 파일 확인
  • bat --diff src/main.py — git 변경 사항을 문법 강조와 함께 확인
  • bat --line-range 1:50 error.log — 로그 파일의 특정 구간만 확인

💬 "실제 서버에서 설정 파일을 확인하는 예시를 보여줘"

실제 운영 중인 서버에서 자주 만나는 상황을 순서대로 정리했습니다.

1단계 · 설치 확인

먼저 설치 여부를 확인하고, 없으면 설치합니다.

bat --version || batcat --version || sudo apt install -y batcat

2단계 · 설정 파일 확인

nginx 설정 파일을 문법 강조와 함께 봅니다.

bat -n /etc/nginx/nginx.conf

3단계 · 특정 구간만

로그 파일에서 오류 구간만 잘라 봅니다.

bat --line-range 100:150 /var/log/nginx/error.log

실제 실행 화면

설치 후 nginx 설정 파일을 bat으로 확인한 결과입니다. 문법에 따라 색이 나뉘고 줄 번호가 표시됩니다.

bat 명령어 실행 결과

실제 운영 중인 서버

실무에서는 이렇게 씁니다

1. 설정 파일 검토

상황 — nginx나 앱 설정 파일의 오타를 찾습니다.

bat -A /etc/nginx/sites-available/default

결과 — 탭 대신 화살표, 줄바꿈 대신 $ 기호가 보여 숨은 문자를 확인할 수 있습니다.

포인트 — -A 옵션은 빈 줄과 공백 차이를 눈으로 구분하게 해줍니다.

2. 스크립트 리뷰

상황 — 배포 스크립트의 로직을 문법 강조와 함께 검토합니다.

bat --style=numbers deploy.sh

결과 — 줄 번호가 붙어 어디를 고쳤는지 말하기 쉽습니다.

포인트 — --style=numbers는 코드 리뷰 시 유용합니다.

실제 실행 화면

git 변경 파일을 diff 모드로 확인한 결과입니다. 추가·삭제 라인이 색으로 구분됩니다.

bat 명령어 실행 결과 2

실제 운영 중인 서버

주의할 점

  • Debian/Ubuntu에서는 명령어 이름이 batcat일 수 있습니다.
  • bat은 대용량 파일을 읽을 때 메모리를 많이 씁니다. 수 GB 로그에는 head와 함께 씁니다.
  • 터미널이 256색을 지원하지 않으면 색이 어색하게 나옵니다.
  • less 대신 bat가 기본 뷰어로 설정되어 있으면 스크립트가 깨질 수 있습니다..