개요
리눅스 환경에서 .bz2 형식으로 압축된 대용량 로그 파일을 확인할 때 매번 압축을 풀면 디스크 공간과 시간이 낭비됩니다. bzless 명령어를 사용하면 압축을 해제하지 않고도 파일 내용을 손쉽게 페이지 단위로 탐색할 수 있습니다. 본 글에서는 bzless의 필수 사용법과 검색 팁, 실무 로그 분석 활용법을 단계별 실습과 함께 알아봅니다.
1. bzip2 패키지 확인 및 실습용 bz2 파일 생성
bzless 명령어를 사용하기 위해 시스템 내 도구 설치 여부를 확인하고, 필요한 bzip2 패키지를 설치합니다.

실습에 사용할 예제 로그 데이터를 준비하기 위해 echo 명령어를 실행하여 여러 줄의 로그가 포함된 app_server.log 파일을 생성합니다.
![echo -e “[2026-10-15 01:00:01] INFO Service started\n[2026-10-15 01:05:22] WARN High memory usage\n[2026-10-15 01:10:45] ERROR Connection timeout\n[2026-10-15 01:15:30] INFO Healthcheck OK” > app_server.log](/ubuntu/20261015_022705_78/captures/s01_c02_echo_-e___2026-10-15_01_00_01__INFO_Service_starte.png)
원본 로그 파일을 유지하면서 압축 실습을 진행하기 위해 bzip2 -k app_server.log 명령어로 압축 파일 app_server.log.bz2를 생성합니다.

정상적으로 압축 파일이 생성되었는지 확인하기 위해 ls -lh app_server.log.bz2 명령어로 파일의 상세 정보와 크기를 확인합니다.

2. bzless로 압축 해제 없이 파일 내용 탐색하기
bzless app_server.log.bz2 명령어를 실행하여 별도의 압축 해제 과정 없이 압축 파일의 내용을 화면에 즉시 출력합니다.less 페이저 기반으로 동작하므로 방향키나 스페이스바로 화면을 자유롭게 이동할 수 있으며, q 키를 눌러 뷰어 화면을 빠져나올 수 있습니다.

3. 줄 번호 표시와 패턴 검색 기능 활용
bzless -N app_server.log.bz2 명령어를 실행하여 파일 내용의 각 행마다 줄 번호를 함께 표시하며 압축 로그를 확인합니다.-N 옵션을 적용하면 라인 번호가 화면 왼쪽에 출력되어 대용량 로그 분석 시 특정 이벤트가 발생한 위치를 파악하기 수월합니다.
뷰어 화면 내부에서 /검색어(예: /ERROR)를 입력하면 원하는 키워드를 빠르게 탐색할 수 있으며, n 키와 N 키를 눌러 다음 또는 이전 검색 일치 항목으로 이동할 수 있습니다.

4. 실무 활용을 위한 bzcat 및 bzgrep과의 연계 비교
bzgrep "ERROR" app_server.log.bz2 명령어를 실행하여 압축을 해제하지 않고 ERROR 키워드가 포함된 행만 즉시 필터링하여 출력합니다.
대용량 압축 로그 파일 전체를 열어보지 않고도 특정 오류나 장애 기록의 발생 여부를 빠르게 점검할 수 있습니다.

bzcat app_server.log.bz2 | head -n 2 명령어를 실행하여 압축 해제된 텍스트 스트림을 표준 출력으로 전달하고 파이프(|)를 통해 상위 2개 행만 추출합니다.
대화형 뷰어 화면으로 전환되는 bzless와 달리 bzcat은 텍스트 스트림을 직접 출력하므로 다른 리눅스 명령어(head, grep, awk 등)와 연계하여 자동화 및 데이터 처리를 수행할 때 적합합니다.

지금까지 우분투에서 bzless 명령어를 활용해 별도의 압축 해제 없이 bz2 파일의 내용을 효율적으로 확인하는 방법을 살펴보았습니다.
앞으로는 번거로운 압축 해제 과정 없이 bzless를 사용해 대용량 로그나 텍스트 문서를 빠르고 간편하게 검토해 보세요.