개요
리눅스 환경에서 고압축률을 자랑하는 .bz2 아카이브를 효율적으로 해제하는 bunzip2 명령어의 핵심 사용법을 알아봅니다. 기본 압축 해제부터 원본 보존, 표준 출력 스트리밍까지 실무에서 자주 쓰이는 실습 예제를 함께 다룹니다.
bunzip2 설치 및 기본 압축 해제 실습
bunzip2 명령어 실습을 진행하기 위해 apt-get update -qq && apt-get install -y bzip2 명령어로 관련 패키지를 설치합니다.

압축 해제 실습에 사용할 예제 파일을 생성하고 압축하기 위해 echo 'Hello Linux bunzip2 tutorial' > sample1.txt && bzip2 sample1.txt 명령어를 실행합니다.

bunzip2 sample1.txt.bz2 명령어는 지정한 .bz2 파일의 압축을 해제합니다.
기본 실행 시 압축이 풀리면서 원본 .bz2 파일은 자동으로 삭제되고 원본 텍스트 파일이 복원됩니다.
⚙️ [주요 옵션]
-k : 압축을 해제한 후에도 원본 .bz2 파일을 삭제하지 않고 유지합니다.-f : 동일한 이름의 파일이 이미 있더라도 묻지 않고 강제로 덮어씁니다.-v : 압축 해제 진행 상태와 상세 정보를 화면에 출력합니다.-c : 압축을 푼 결과를 파일로 저장하지 않고 표준 출력으로 내보냅니다.-t : 실제 압축을 해제하지 않고 압축 파일의 무결성 손상 여부만 검사합니다.

압축 해제가 정상적으로 완료되었는지 확인하기 위해 cat sample1.txt 명령어로 복원된 파일의 내용을 출력합니다.

원본 압축 파일을 유지하며 압축 해제하기 (-k 옵션)
원본 압축 파일 보존 실습에 사용할 예제 텍스트 파일을 생성하고 압축하기 위해 echo 'Keep original archive test' > keep_test.txt && bzip2 keep_test.txt 명령어를 실행합니다.

bunzip2 -k keep_test.txt.bz2 명령어는 -k 옵션을 사용하여 원본 압축 파일(.bz2)을 삭제하지 않고 보존하면서 압축을 해제합니다.

ls -lh keep_test* 명령어로 파일 목록을 확인하면 압축이 풀린 원본 텍스트 파일(keep_test.txt)과 압축 파일(keep_test.txt.bz2)이 모두 정상적으로 남아 있는 것을 확인할 수 있습니다.

압축 해제 과정 상세 확인 및 강제 덮어쓰기 (-v, -f 옵션)
강제 덮어쓰기 및 상세 출력 실습을 진행하기 위해 원본 파일을 유지하면서 새 압축 파일을 생성하는 echo 'Force overwrite test content' > force_test.txt && bzip2 -k force_test.txt 명령어를 실행합니다.

bunzip2 -vf force_test.txt.bz2 명령어는 기존에 동일한 이름의 파일(force_test.txt)이 이미 존재하더라도 -f 옵션으로 확인 과정 없이 강제로 덮어쓰고, -v 옵션을 통해 압축 해제 과정과 세부 진행 상태를 화면에 출력합니다.

압축 해제 없이 파일 내용 즉시 확인하기 (-c 옵션)
내용 미리 확인 실습에 사용할 예제 텍스트 파일을 생성하고 압축하기 위해 echo 'Stream and preview test data' > stream_test.txt && bzip2 stream_test.txt 명령어를 실행합니다.

bunzip2 -c stream_test.txt.bz2 명령어는 -c 옵션을 사용하여 디스크에 압축을 풀지 않고 파일 내용을 표준 출력(stdout)으로 내보내 터미널에서 즉시 확인합니다.
압축을 완전히 푸는 과정 없이 파일 내용을 빠르게 점검하거나 다른 명령어의 파이프 입력으로 넘길 때 유용합니다.

ls -lh stream_test.txt.bz2 명령어로 파일 목록을 확인하면 -c 옵션을 사용했을 때 원본 압축 파일(.bz2)이 삭제되지 않고 그대로 안전하게 유지되어 있는 것을 확인할 수 있습니다.

지금까지 우분투 환경에서 bunzip2 명령어를 활용해 bzip2 압축 파일을 해제하는 실무 사용법을 살펴보았습니다.
알려드린 다양한 옵션들을 실무 작업에 유용하게 활용해 보시기 바랍니다.