Linux / 명령어 / bunzip2 - bzip2 압축 파일 풀기

bunzip2는 .bz2 파일을 압축 해제합니다. 보통 압축 파일을 원래 파일로 대체하며, bzip2 -d와 같은 용도로 쓰입니다.

bunzip2 명령어란?

sample.txt.bz2는 풀면 sample.txt가 됩니다. .tar.bz2의 압축 층을 벗기면 tar 아카이브가 남으므로, 그 안의 여러 파일은 tar에서 추출합니다. 원본 압축 파일을 남겨야 한다면 -k를 지정하세요.

기본 문법

bunzip2 [옵션] 파일.bz2 [파일.bz2 ...]

설치된 구현과 옵션은 배포판에 따라 다를 수 있습니다. man bunzip2으로 현재 시스템의 설명을 확인하세요.

사용 예제

기본 압축 해제

압축 파일을 원래 이름의 파일로 바꿉니다.

bunzip2 data.csv.bz2

압축 파일 유지

원본 .bz2를 지우지 않고 해제합니다.

bunzip2 -k data.csv.bz2

표준 출력으로 복원

파일을 만들기 전에 내용을 다른 명령으로 보낼 때 사용합니다.

bunzip2 -c data.csv.bz2 | head

압축 해제와 파일명 충돌

bunzip2는 .bz2 파일을 풀고 보통 압축 파일을 제거합니다. 다음은 원본과 같은 이름이 없는 별도 디렉터리에서 실행한다는 전제입니다.

bunzip2 note.txt.bz2
ls -l note.txt

성공 시 첫 명령은 대개 출력이 없고, 두 번째 명령에 복원된 파일이 보입니다. 같은 이름의 파일이 이미 있다면 덮어쓰기 여부를 확인하게 될 수 있습니다.

압축 파일을 유지하고 내용만 확인하려면 bunzip2 -c note.txt.bz2를 사용할 수 있습니다. 큰 파일을 터미널에 그대로 출력하지 말고 적절한 파일이나 파이프로 보낼지를 먼저 결정하세요. 압축 해제 뒤 파일의 내용과 체크섬을 확인하는 것이 안전합니다.

주요 옵션과 형식

옵션·형식 설명
-k 압축된 입력 파일을 보존합니다.
-c 풀린 데이터를 표준 출력으로 보냅니다.
-f 기존 대상 파일을 강제로 덮어쓸 수 있습니다.
-v 처리 과정을 자세히 표시합니다.
-s 더 적은 메모리로 압축 해제를 시도합니다.

사용할 때 주의할 점

-f는 기존 복원 파일을 덮을 수 있으므로 사용 전에 파일명을 확인하세요. bunzip2는 ZIP 파일을 해제하는 명령이 아니며, .tar.bz2 안의 여러 파일을 바로 꺼내지도 않습니다. tar 아카이브 전체를 풀려면 tar -xjf를 사용하세요.

자주 묻는 질문

bunzip2로 .tar.bz2를 풀면 무엇이 남나요?

bzip2 압축이 제거된 .tar 아카이브가 남습니다. 그 안의 파일은 tar로 추출하세요.

공식 문서

옵션의 정확한 동작과 구현별 차이는 bunzip2 관련 공식 문서에서 확인할 수 있습니다.

같은 카테고리의 다른 글
Linux / 명령어 / tail - 파일의 마지막 내용과 로그 실시간 확인

Linux / 명령어 / tail - 파일의 마지막 내용과 로그 실시간 확인

Linux tail 명령어로 파일의 마지막 행과 바이트를 확인하고 새로 추가되는 로그를 추적하는 방법을 설명합니다. -n, -f, -F 차이와 로그 로테이션, 필터링 및 여러 파일 모니터링 예제를 정리합니다.

Linux / 명령어 / rpm - RPM 패키지와 설치 데이터베이스 조회

Linux / 명령어 / rpm - RPM 패키지와 설치 데이터베이스 조회

Linux rpm 명령어의 적용 배포판과 기본 작업을 설명합니다. 패키지 조회·설치 예제, 주요 옵션과 시스템 변경 시 주의점을 알아봅니다.

Linux / 명령어 / ssh-copy-id - SSH 공개키를 원격 계정에 등록

Linux / 명령어 / ssh-copy-id - SSH 공개키를 원격 계정에 등록

Linux ssh-copy-id 명령어의 기능과 기본 문법을 설명합니다. 실제 사용 예제, 주요 옵션과 작업 전 확인할 점을 알아봅니다.

Linux / 명령어 / pacman - Arch Linux에서 패키지 설치와 전체 시스템 업데이트

Linux / 명령어 / pacman - Arch Linux에서 패키지 설치와 전체 시스템 업데이트

Linux pacman 명령어의 적용 배포판과 기본 작업을 설명합니다. 패키지 조회·설치 예제, 주요 옵션과 시스템 변경 시 주의점을 알아봅니다.

Linux / 명령어 / env - 환경 변수 설정과 명령 실행

Linux / 명령어 / env - 환경 변수 설정과 명령 실행

Linux env 명령어로 환경 변수를 추가·제거하거나 깨끗한 환경에서 프로그램을 실행하는 방법을 설명합니다. env -i·-u·-C, shebang 활용과 printenv와의 차이를 다룹니다.

Linux / 네트워크 / IP 확인하는 방법

Linux / 네트워크 / IP 확인하는 방법

Linux에서 ip address와 ip route get으로 인터페이스 주소와 실제 출발지 IP를 확인하는 방법을 설명합니다. 사설·공인 IP, IPv4·IPv6와 컨테이너 환경의 차이도 정리합니다.

Linux 강좌 / 파일 권한 읽고 바꾸기와 sudo 사용법

Linux 강좌 / 파일 권한 읽고 바꾸기와 sudo 사용법

리눅스 파일과 디렉터리의 읽기·쓰기·실행 권한을 해석하고 chmod로 실습 파일의 권한을 바꿉니다. sudo의 사용 범위와 권한 오류를 진단하는 순서도 설명합니다.

Linux / 명령어 / history - 명령어 실행 기록 확인

Linux / 명령어 / history - 명령어 실행 기록 확인

Bash history 명령어로 이전 명령을 조회·검색·재실행·삭제하는 방법을 설명합니다. ~/.bash_history, HISTCONTROL, HISTTIMEFORMAT, histappend와 여러 터미널 기록 동기화 방법도 함께 정리합니다.

Linux / 명령어 / apropos - 설명 키워드로 명령어 검색

Linux / 명령어 / apropos - 설명 키워드로 명령어 검색

apropos 명령어로 이름을 모르는 리눅스 명령과 매뉴얼을 기능 키워드로 찾는 방법을 설명합니다. 정규 표현식, 모든 키워드 일치, 섹션 제한과 검색 결과가 없을 때의 해결 방법을 다룹니다.

Linux / 명령어 / who - 현재 로그인 세션 확인

Linux / 명령어 / who - 현재 로그인 세션 확인

Linux who 명령어의 기본 문법과 실제 사용 예제를 설명합니다. 주요 옵션과 결과를 해석할 때 주의할 점을 확인할 수 있습니다.