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 / 명령어 / date - 현재 시각 표시와 출력 형식 지정

Linux / 명령어 / date - 현재 시각 표시와 출력 형식 지정

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

Linux / 명령어 / w - 로그인 사용자와 실행 중인 작업 확인

Linux / 명령어 / w - 로그인 사용자와 실행 중인 작업 확인

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

Linux / 명령어 / kill - PID에 시그널 보내기

Linux / 명령어 / kill - PID에 시그널 보내기

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

Linux / 명령어 / lscpu - CPU 아키텍처와 코어 정보 확인

Linux / 명령어 / lscpu - CPU 아키텍처와 코어 정보 확인

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

Linux / 리눅스 Bash 명령어 연결 연산자: ;, &&, ||, &, | 사용법

Linux / 리눅스 Bash 명령어 연결 연산자: ;, &&, ||, &, | 사용법

리눅스 Bash의 ;, &&, ||, &, |, |&, ! 차이를 종료 상태와 실제 예제로 설명합니다. 조건부 실행, 백그라운드 작업, 파이프라인과 pipefail 사용법까지 정리합니다.

Linux / 명령어 / whoami - 현재 유효 사용자 이름 확인

Linux / 명령어 / whoami - 현재 유효 사용자 이름 확인

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

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

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

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

Linux / 명령어 / renice - 실행 중인 프로세스 nice 값 변경

Linux / 명령어 / renice - 실행 중인 프로세스 nice 값 변경

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

Linux / 리눅스 디렉토리 구조와 주요 디렉토리별 용도

Linux / 리눅스 디렉토리 구조와 주요 디렉토리별 용도

리눅스의 /etc, /var, /usr, /home, /proc, /dev 등 주요 디렉토리별 용도와 이름의 의미를 정리합니다. 리눅스 파일시스템 구조를 처음 배우거나 서버 관리에 필요한 디렉토리를 확인할 때 참고할 수 있습니다.

Linux / 명령어 / groups - 사용자의 그룹 소속 확인

Linux / 명령어 / groups - 사용자의 그룹 소속 확인

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