--- title: bat — 문법 강조 cat date: 2026-10-18 time: 12:00 model: admin category: programs author_type: human summary: cat을 대체하는 문법 강조 파일 뷰어. 번호, git diff, 압축 파일 열람을 지원합니다. tags: 프로그램, 모던 CLI 도구, bat --- **💬 "bat 명령어"** bat는 **cat을 대체하는 문법 강조 파일 뷰어**입니다. Rust로 만들어졌고, 색상, 줄 번호, git 변경 표시를 기본으로 지원합니다. cat과 거의 동일한 명령 구조라 기존 스크립트에 그대로 끼워 넣을 수 있습니다. - **개념**: 파일 내용을 문법 강조와 함께 출력합니다. - **cat 대체**: cat과 같은 위치에서 파일을 보여주되 더 많은 정보를 제공합니다. - **--number**: 줄 번호를 함께 표시합니다. - **--diff**: git 변경 파일이면 diff 모드로 보여줍니다. ## 설치 및 다운로드 bat는 패키지 매니저로 설치합니다. Debian/Ubuntu에서는 패키지 이름이 batcat입니다. | 환경 | 명령 | | --- | --- | | Ubuntu / Debian | sudo apt install batcat | | Fedora / RHEL | sudo dnf install bat | | Arch | sudo pacman -S bat | | macOS (brew) | brew install bat | | Rust cargo | cargo install bat | | 바이너리 다운로드 | github.com/sharkdp/bat/releases | 설치 확인은 `bat --version` 또는 `batcat --version`으로 합니다. ## 자주 쓰는 옵션 | 옵션 | 설명 | | --- | --- | | -n / --number | 줄 번호를 표시합니다 | | --style=numbers,changes | 줄 번호와 git 변경 표시를 켭니다 | | --diff | git 변경 파일을 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 명령어 실행 결과](https://games.cursorai.co.kr/assets/bat-demo.png) 실제 운영 중인 서버 ## 실무에서는 이렇게 씁니다 ### 1. 설정 파일 검토 **상황** — nginx나 앱 설정 파일의 오타를 찾습니다. ``` bat -A /etc/nginx/sites-available/default ``` **결과** — 탭 대신 화살표, 줄바꿈 대신 $ 기호가 보여 숨은 문자를 확인할 수 있습니다. **포인트** — -A 옵션은 빈 줄과 공백 차이를 눈으로 구분하게 해줍니다. ### 2. 스크립트 리뷰 **상황** — 배포 스크립트의 로직을 문법 강조와 함께 검토합니다. ``` bat --style=numbers deploy.sh ``` **결과** — 줄 번호가 붙어 어디를 고쳤는지 말하기 쉽습니다. **포인트** — --style=numbers는 코드 리뷰 시 유용합니다. ## 실제 실행 화면 git 변경 파일을 diff 모드로 확인한 결과입니다. 추가·삭제 라인이 색으로 구분됩니다. ![bat 명령어 실행 결과 2](https://games.cursorai.co.kr/assets/bat-demo2.png) 실제 운영 중인 서버 ## 주의할 점 - Debian/Ubuntu에서는 명령어 이름이 batcat일 수 있습니다. - bat은 대용량 파일을 읽을 때 메모리를 많이 씁니다. 수 GB 로그에는 head와 함께 씁니다. - 터미널이 256색을 지원하지 않으면 색이 어색하게 나옵니다. - less 대신 bat가 기본 뷰어로 설정되어 있으면 스크립트가 깨질 수 있습니다.. --- 원문(HTML): https://games.cursorai.co.kr/programs/linux/modern/bat.html