용도

  • 배포의 편리성 : 데이터가 빠르고 편리하게 송/수신하기 위해 사용 한다.
  • 파일보관의 편리성 : 대용량의 데이터를 보관하기 위해 사용한다.

압축 명령어 종류

  • gzip(GNU zip)
  • bzip2
  • tar(tape archive)

gzip

  • 리눅스에서 범용적으로 사용되는 압축 프로그램
  • 일반적으로 tar로 묶여진(archive) 파일의 용량을 줄이기 위한 목적으로 사용된다.
  • 압축 파일을 생성할 때 기본적으로 “.gz” 확장자를 붙여 준다.

  • 사용법
    • #gzip [옵션] [파일 이름]

gzip 옵션

OPTION    
-n[1~9] 압축 수행 ㅣ 처리 속도 조정(1: 가장 빠른 압축, 9: 가장 느린 압축)  
-c 압축의 결과를 출력하고 원본파일을 보존한다.  
-d dkqcnr gowp(=gunzip)  
-f 시스템이 사용중인 파일을 압축하는 등의 강제 압축  
-l(소문자 L) 압축 파일의 정보 확인  
  compressed 압축 된 후의 용량
  uncompressed 압축 되기 전의 용량
  ratio 압축 효율
  uncompressed_name 압축 되기 전의 파일 이름
-r 한번에 여러 개의 파일의 압축(디렉터리에 포함된 모든 파일 압축)  
-t 압축 파일 테스트(-v 옵션과 함께 사용해야 한다.)  
-v 자세한 정보 출력  

bzip2

  • 압축률은 gzip보다 좋지만 처리속도가 느리다
  • 압축에 사용되는 알고리즘(BWT)의 특허 때문에 라이선스를 잘 확인하고 이용해야 한다.
  • 압축파일을 생성할 때 기본적으로 “.bz2” 확장자를 붙여 준다.

  • 사용법
    • #bzip2 [옵션] [파일 이름]
OPTION  
-t 압축 파일 테스트
-d 압축 해제
-f 강제 압축
-v 자세한 정보 출력

tar

  • 초기에 tape backup을 목적으로 사용 되었다.
  • 많은 양의 파일을 하나의 큰 파일로 묶어주기 위해 사용된다.
  • 파일 배포 시 많이 사용 된다.
  • 내부 옵션을 통해 gzip 또는 bzip2 압축을 지원 한다.

  • 사용법(압축 생성)
    • #tar [옵션] [생성할 tar파일 이름] [묶을 파일 이름]
  • 사용법(압축 해제)
    • #tar [옵션] [tar파일 이름] -C [해제할 경로]

tar 옵션

OPTION  
-c 정의한 파일 이름으로 파일을 묶음
-f 옵션 뒤에 tar 파일을 명시하고 있음
-v 자세한 내용 출력
-t tar 파일의 내용 출력
-x tar 파일에서 정의된 파일을 추출
-u 이미 tar 파일에 포함된 파일보다 더 최근의 파일로 변경
-r 생성될 tar 파일의 제일 끝 부분에 tar 확장자 명시
-p 원본 파일의 permission 유지
-C tar 파일이 해제될 위치 지정
-b 블록 단위로 작업
-g 증분 백업
-z tar로 묶여진 파일을 gzip으로 압축하여 최종 파일을 생성
-j tar로 묶여진 파일을 bzip2로 압축하여 최종 파일을 생성

tar 사용 예

  • 지정한 파일 묶기
    • #tar -cvf [생성할 tar파일 이름] [묶을 파일 이름 또는 디렉터리]
  • 지정한 파일 묶기 + gzip 압축
    • #tar -zcvf [생성할 tar파일 이름] [묶을 파일 이름 또는 디렉터리]
  • 지정한 파일 묶기 + bzip2 압축
    • #tar -jcvf [생성할 tar파일 이름] [묶을 파일 이름 또는 디렉터리]
  • 지정한 파일 묶기 해제
    • #tar -xvf [해제할 tar 파일 이름]
  • 지정한 파일 묶기 해제 + gzip 압축 해제
    • #tar -zxvf [해제할 tar파일 이름]
  • 지정한 파일 묶기 해제 + bzip2 압축 해제
    • #tar -jxvf [해제할 tar파일 이름]