[유닉스] 파일 아카이브 - .gz 파일,   .zip 파일,   .bz2 파일


gzip/gunzip

  • gzip 명령으로 파일을 압축하여 .gz 파일을 생성할 수 있고, gzip 또는 gunzip 명령을 이용하여 압축을 풀 수 있다.

압축하기 : gzip

  • 지정한 파일을 압축해 파일이름.gz 파일 생성
  • 압축 효율이 좋음
  • 형식 : gzip [옵션] 파일명
  • 옵션

    • -d : 파일 압축을 해제
    • -l : 압축된 파일의 정보를 보여줌
    • -r : 하위 디렉토리로 이동하여 파일 압축
    • -t : 압축 파일 검사
    • -v : 압축 정보를 화면에 출력
    • -g : 최대한 압축
  • 사용 예

    • gzip test1.txt
    • gzip –v test2.txt test3.txt
$ gzip test1.txt
$ ls test1.*

test1.txt.gz
$
  • -d 옵션을 사용해 압축 파일 복원 가능
  • -l 옵션을 사용해 압축 파일에 대한 정보 확인 가능

    • 파일의 원래 크기, 압축된 크기, 압축률, 원본 파일명 출력
$ gzip –l test1.txt.gz

compressed uncompressed ratio uncompressed_name

174        221      33.9%      test1.txt
$


파일 내용 보기 : zcat

  • gzip으로 압축된 파일의 내용을 보여줌
  • 솔라리스와 리눅스에서 명령이 다름(솔라리스 : gzcat, 리눅스 : zcat)
  • 형식 : zcat 파일명
  • 사용 예
    • zcat test1.txt.gz
    • zcat test1.txt
$ zcat test1.txt.gz

127.0.0.1 localhost
127.0.1.1 ksshin

......
$ zcat test1.txt

127.0.0.1 localhost
127.0.1.1 ksshin

......
$



압축풀기 : gunzip

  • gzip으로 압축된 파일의 압축을 복원
  • 형식 : gunzip 파일명
  • 사용 예
    • gunzip test1.txt.gz
    • gunzip test1.txt
  • 명령 결과는 gzip –d의 결과와 같음
$ ls *.gz
test1.tar.gz txt.tar.gz
$ gunzip *.gz
$ ls
test1.txt test2.txt test3.txt txt.tar
$


zip/unzip 명령

  • zip 명령으로 파일을 압축하여 .zip 파일을 생성할 수 있고, unzip 명령을 이용하여 압축을 풀 수 있다.
  • .zip 파일을 생성하고 그 압축을 풀어줌
  • PC의 zip과 호환이 가능하기 때문에 유닉스와 PC간 데이터 주고받을 때 사용

압축하기 : zip

  • 지정한 파일을 압축해 파일이름.zip 파일 생성
  • 원본 파일은 그대로 두고 압축 파일을 별도로 만듦
  • 형식 : zip [옵션] zip파일명 압축할 파일명
  • 옵션
    • -v : 압축 정보를 화면에 출력
    • -r : 디렉토리 압축
    • -u : 수정되거나 추가된 파일만 출력
  • 사용 예
    • zip test1.txt.zip test1.txt
    • zip –v txt.zip test2.txt test3.txt
$ zip test1.txt.zip test1.txt
adding: test1.txt (deflated 34%)

$ ls *.zip
test1.txt.zip

$
  • 디렉토리도 압축 가능
$ zip –r tmp.zip tmp
adding: tmp/ (stored 0%)
adding: tmp/test3.txt (deflated 34%)
adding: tmp/test1.txt (deflated 34%)
adding: tmp/test2.txt (deflated 34%)

$ ls *.zip
test1.txt.zip tmp.zip
$


압축풀기 : unzip

  • zip으로 압축한 파일을 복원
  • 형식 : unzip 파일명
  • 사용 예
    • unzip test1.txt.zip
    • unzip test1.txt
$ mkdir temp1
$ mv tmp.zip temp1
$ cd temp1
$ unzip tmp.zip
Archive: tmp.zip
creating: tmp/
inflating: tmp/test3.txt
inflating: tmp/teset1.txt
inflating: tmp/test2.txt

$ ls –F
tmp/ tmp.zip
$


bzip2/bunzip2

  • bzip2 명령으로 파일을 압축하여 .bz2 파일을 생성할 수 있고, bunzip2 명령을 이용하여 압축을 풀 수 있다.

압축하기 : bzip2

  • 오픈소스 압축 명령
  • gzip을 개선하여 현재 가장 많이 사용하고 있는 압축 유틸리티
  • gzip이나 zip에 비해 압축률은 좋지만 속도가 약간 느림
  • 지정한 파일을 압축해 파일이름.bz2 파일 생성
  • 형식 : bzip2 [옵션] 파일명
  • 옵션
    • -d : 파일 압축을 해제
    • -l : 압축된 파일의 내용을 보여줌
    • -t : 압축 파일 검사
    • -v : 압축 정보를 화면에 출력
    • –best : 최대한 압축
  • 사용 예
    • bzip2 test1.txt
    • bzip2 –v test2.txt test3.txt
$ bzip2 test1.txt
$ ls
test1.txt.bz2 test2.txt test3.txt

$


파일 내용 보기 : bzcat

  • 압축된 파일의 내용을 봄
  • 형식 : bzcat 파일명
  • 사용 예
    • bzcat test1.txt.bz2
    • bzcat test1.txt
$ bzcat test1.txt.bz2
127.0.0.1 localhost
127.0.1.1 ksshin
......
$


압축풀기 : bunzip2

  • bzip2로 압축된 파일을 복원
  • 형식 : bunzip2 파일명
  • 사용 예
    • bunzip2 test1.txt.bz2
    • bunzip2 test1.txt
  • bunzip2 명령의 결과는 bzip2 –d의 결과와 같음
$ bunzip2 test1.txt.bz2
$ ls
test1.txt test2.txt test3.txt
$

압축 효율 비교

  • compress < gzip < bzip2