Linux / 명령어 / bzip2 - 파일을 bzip2 형식으로 압축하기

bzip2는 개별 파일을 .bz2 형식으로 압축합니다. 기본 동작은 원본 파일을 압축 파일로 대체하며 디렉터리 묶음 기능은 없습니다.

bzip2 명령어란?

bzip2는 파일 하나마다 별도의 압축 결과를 만듭니다. 원본을 남길 때는 -k, 출력 스트림을 다른 파일에 기록할 때는 -c를 사용합니다. 여러 파일과 디렉터리를 한 파일에 담으려면 tar -cjf처럼 tar와 결합합니다.

기본 문법

bzip2 [옵션] [파일 ...]

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

사용 예제

원본을 보존하며 압축

data.csv.bz2를 만들고 data.csv도 남깁니다.

bzip2 -k data.csv

다른 파일명으로 압축

표준 출력에 쓰는 방식입니다. 대상 파일이 기존에 없음을 확인하세요.

bzip2 -c data.csv > data-copy.csv.bz2

압축 파일 검사

파일을 실제로 풀어 쓰지 않고 무결성을 검사합니다.

bzip2 -t data.csv.bz2

bzip2 압축 파일 확인하기

bzip2는 파일 하나를 .bz2 형식으로 압축하고 기본적으로 원본을 대체합니다. 원본을 유지하려면 표준 출력으로 압축 결과를 보내 새 파일에 저장할 수 있습니다.

bzip2 -c note.txt > note.txt.bz2
bzip2 -t note.txt.bz2
ls note.txt*

예시 파일 목록:

note.txt  note.txt.bz2

bzip2 -t는 구조가 정상이면 보통 조용히 끝납니다. 파일이 있다는 사실만으로 원본을 완전히 복원할 수 있다고 보장하지 않으므로 중요한 자료는 실제 복원 검사와 별도 백업이 필요합니다. 여러 파일을 하나로 묶으려면 tar와 함께 사용하세요.

주요 옵션과 형식

옵션·형식 설명
-k 입력 파일을 유지합니다.
-c 결과를 표준 출력으로 보냅니다.
-t 압축 데이터를 검사합니다.
-1 ... -9 압축 블록 크기를 선택합니다.
-v 처리 상세 정보를 표시합니다.

사용할 때 주의할 점

기본 압축은 원본을 제거하므로 보존이 필요하면 -k를 명시하세요. bzip2는 기존 출력 파일을 기본적으로 덮어쓰지 않지만 -f는 강제로 덮어쓸 수 있습니다. 압축은 암호화가 아니며, 매우 작은 파일은 압축 후 오히려 커질 수도 있습니다.

자주 묻는 질문

bzip2 data/로 디렉터리를 압축할 수 있나요?

bzip2는 디렉터리를 직접 하나의 파일로 묶지 않습니다. tar -cjf data.tar.bz2 data/처럼 tar를 사용하세요.

공식 문서

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

같은 카테고리의 다른 글
Linux 강좌 / APT와 DNF로 패키지 설치·업데이트하기

Linux 강좌 / APT와 DNF로 패키지 설치·업데이트하기

Debian·Ubuntu의 APT와 Rocky Linux의 DNF로 패키지를 검색·설치·업데이트·제거하는 방법을 비교합니다. 저장소와 의존성, 업데이트 전 확인할 항목을 다룹니다.

Linux / Memo

Linux / Memo

리눅스와 관련된 여러 정보를 정리합니다.

Linux / 명령어 / tr - 표준 입력의 문자 치환과 삭제

Linux / 명령어 / tr - 표준 입력의 문자 치환과 삭제

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

Linux / 명령어 / parted - 파티션 표와 빈 공간 확인·관리

Linux / 명령어 / parted - 파티션 표와 빈 공간 확인·관리

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

Linux / 명령어 / info - GNU 문서 확인

Linux / 명령어 / info - GNU 문서 확인

info 명령어로 GNU 설명서를 탐색하는 방법을 설명합니다. 노드와 메뉴 이동, 본문·색인 검색, 특정 문서 위치 지정, 텍스트 출력과 문서가 없을 때의 해결 방법을 정리합니다.

Linux / 명령어 / nohup - 로그아웃 후에도 명령 계속 실행

Linux / 명령어 / nohup - 로그아웃 후에도 명령 계속 실행

Linux nohup 명령어로 로그아웃 후에도 작업을 계속 실행하는 방법을 설명합니다. 백그라운드 실행, 입출력 리디렉션, PID 확인과 종료, 로그 관리 및 systemd·tmux와의 차이를 정리합니다.

Linux / 명령어 / ss - 열린 포트와 소켓 연결 상태 확인

Linux / 명령어 / ss - 열린 포트와 소켓 연결 상태 확인

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

Linux / 명령어 / su - 사용자 계정 전환

Linux / 명령어 / su - 사용자 계정 전환

Linux su 명령어로 다른 사용자 권한의 셸과 단일 명령을 실행하는 방법을 설명합니다. su와 su --login 차이, 환경 변수, PAM 인증, sudo·runuser 선택 기준과 보안 주의사항을 정리합니다.

Linux / 명령어 / chmod - 파일·디렉터리 접근 권한 변경

Linux / 명령어 / chmod - 파일·디렉터리 접근 권한 변경

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

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

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

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