용도
- 배포의 편리성 : 데이터가 빠르고 편리하게 송/수신하기 위해 사용 한다.
- 파일보관의 편리성 : 대용량의 데이터를 보관하기 위해 사용한다.
압축 명령어 종류
- 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파일 이름]