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 / 명령어 / zypper - openSUSE·SUSE에서 패키지와 저장소 관리

Linux / 명령어 / zypper - openSUSE·SUSE에서 패키지와 저장소 관리

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

Linux 강좌 / 파일 종류와 정보 확인하기 - ls, file, stat, readlink

Linux 강좌 / 파일 종류와 정보 확인하기 - ls, file, stat, readlink

파일 이름과 실제 형식의 차이를 이해하고 ls, file, stat, readlink로 파일 종류와 크기·권한·시각·링크 정보를 확인합니다.

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

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

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

Linux / 명령어 / hostnamectl - 호스트 이름과 시스템 정보 확인·변경

Linux / 명령어 / hostnamectl - 호스트 이름과 시스템 정보 확인·변경

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

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

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

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

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

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

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

Linux / 명령어 / scp - SSH로 로컬·원격 파일 복사

Linux / 명령어 / scp - SSH로 로컬·원격 파일 복사

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

Linux / 명령어

Linux / 명령어

리눅스에서 자주 사용하는 명령어를 파일, 텍스트, 권한, 프로세스, 시스템, 디스크, 네트워크와 패키지 관리 작업별로 정리했습니다. 링크가 있는 명령어는 자세한 사용법과 예제를 확인할 수 있습니다.

Linux / 명령어 / gunzip - gzip 압축 파일 풀기

Linux / 명령어 / gunzip - gzip 압축 파일 풀기

Linux gunzip 명령어의 용도와 기본 문법을 알아봅니다. 파일 처리 예제, 주요 옵션과 원본 보존·덮어쓰기 주의점을 설명합니다.

Linux / 명령어 / ssh - 암호화된 원격 접속과 명령 실행

Linux / 명령어 / ssh - 암호화된 원격 접속과 명령 실행

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