Computer >> 컴퓨터 >  >> 시스템 >> Linux

리눅스 bzip2 명령어로 파일 압축하는 방법 완벽 가이드

리눅스는 윈도우와 마찬가지로 여러 파일을 하나의 아카이브로 압축할 수 있는 다양한 압축 알고리즘을 지원합니다. 가장 널리 사용되는 ZIP 포맷은 사실상 표준이지만, 각 압축 알고리즘은 저마다 고유한 장단점을 가지고 있습니다.

리눅스 bzip2 명령어로 파일 압축하는 방법 완벽 가이드

gzip 대신 bzip2를 사용해야 하는 이유

gzip 명령어는 LZ77 압축 방식을 사용하는 반면, bzip2 압축 도구는 Burrows-Wheeler 변환 알고리즘을 기반으로 동작합니다.

실제 테스트에서 두 명령어를 모두 기본 압축 설정으로 실행한 뒤 결과물을 비교해 본 결과, 파일 크기 축소 측면에서는 bzip2가 더 우수한 성능을 보였습니다. 다만, 그만큼 압축에 소요되는 시간이 훨씬 길다는 단점이 있습니다.

한편 lzmash 명령어는 gzip의 최고 압축 수준인 -9 옵션을 적용한 것과 동일한 결과를 냅니다. 기본 gzip보다는 시간이 더 걸리지만, 그 결과물은 bzip2로 압축한 파일보다 크기가 더 작습니다.

bzip2로 파일 압축하기

bzip2 형식으로 파일을 압축하려면 다음 명령어를 실행합니다.

bzip2 파일명

압축 결과물은 .bz2 확장자를 갖게 됩니다. 참고로 이 도구는 압축 후 오히려 파일 크기가 커지는 경우에도 압축을 진행합니다. 이런 현상은 이미 압축된 파일을 다시 압축할 때 발생합니다.

파일 압축 해제 방법

.bz2 확장자를 가진 파일은 bunzip2 명령어로 압축을 해제할 수 있습니다.

bunzip2 파일명.bz2

bunzip2 명령어는 bzip 또는 bzip2로 압축된 모든 유효한 파일을 추출합니다. 일반 파일뿐만 아니라 bzip2 명령어로 압축된 tar 파일도 압축 해제할 수 있습니다.

bzip2로 압축된 tar 파일은 .tbz2 확장자를 사용합니다. 이 파일을 bunzip2 명령어로 압축 해제하면 파일명이 파일명.tar로 변경됩니다.

주요 명령어 옵션

다음 명령어 옵션을 활용하면 bzip2의 동작 방식을 세부적으로 조정할 수 있습니다.

  • -f: 파일이 이미 BZ2 형식이더라도 강제로 압축을 진행합니다.
  • -k: 압축 아카이브와 함께 원본 파일도 보존합니다.
  • -s: 압축 작업에 할당되는 시스템 메모리를 줄여, 압축 완료까지 걸리는 시간이 늘어나지만 메모리 사용량을 절약합니다.
  • -t: 아카이브 파일의 무결성을 검사합니다.
  • -v: 명령어 실행 과정에 대한 상세한 출력 정보를 표시합니다.

또한 손상된 아카이브를 복구하려면 별도의 bzip2recover 유틸리티를 사용할 수 있습니다. 이 도구가 항상 성공하는 것은 아니지만, 압축 해제가 불가능한 아카이브를 되살릴 수 있는 마지막 수단이 될 수 있습니다.