리눅스에서 사용되는 압축명령어는 다음 명령어를 많이 사용한다
tar, gzip, bzip, xz, compress, zip 등이 있다. 이중 tar 명령어는 압축대상이 디렉터리일 경우 해당 디렉터리를 하나의 파일로 묶어주는 역할만 하며 추가적으로 다른 아카이브를 통해 압축을 해주어야한다. 그러나 보통은 tar 명령어에서 옵션으로 압축 아카이브를 제공하기 때문에 tar -cvxf 와 같은 형식으로 많이 사용한다.
압축 명령어별 사용방법은 아래와 같다.
1. tar
옵션 | 설명 |
-f | 대상 tar 아카이브 지정(기본옵션) |
-c | tar로 파일을 묶을때 사용 |
-x | tar로 묶여진 파일을 풀때 사용 |
-v | 명령어가 동작하는 과정을 상세히 출력 |
-z | gzip 압축 아카이브 |
-j | bzip2 압축 아카이브 |
-J | xz 압축 아카이브 |
-t | tar로 묶여진 파일의 내용을 확인 |
-C | 대상 디렉터리로 경로 지정 |
-g, -G | 지정된 파일을 기존에 묶여진 파일에 추가(증분백업) |
2. compress
옵션 | 설명 |
-b | 최대 비트 수를 제한 |
-c | 기본 생성 확장자인 .Z가 아닌 지정한 파일로 생성 |
-d | 압축된 파일의 압축을 해제 |
-f | 기존에 압축한 파일이 존재해도 무시하고 강제적으로 압축 |
-r | 하위 디렉터리 및 하위 파일들도 같이 압축 |
-v | 명령어 실행 과정을 상세히 출력 |
3. gzip
옵션 | 설명 |
-c | 압축결과를 출력하고 원본파일 유지 |
-d | 압축된 파일의 압축을 해제 |
-f | 기존에 압축한 파일이 존재해도 무시하고 강제적으로 압축 |
-l | 압축파일의 정보를 출력 |
-r | 디렉터리에 포함된 모든 파일을 압축 |
-t | 압축파일 테스트 |
-v | 명령어 실행 과정을 상세히 출력 |
4. bzip2
옵션 | 설명 |
-c | 압축되거나 압축을 푼 파일을 표준출력으로 출력 |
-d | 압축된 파일의 압축을 해제 |
-z | 압축 |
-f | 기존에 압축한 파일이 존재해도 무시하고 강제적으로 압축 |
-k | 원본파일을 보존 |
-v | 명령어 실행 과정을 상세히 출력 |
5. xzip
옵션 | 설명 |
-z | 압축 |
-d | 압축된 파일의 압축을 해제 |
-t | 압축파일 테스트 |
-l | 압축파일의 정보를 출력 |
6. zip
zip 압축형태는 윈도우와 호환되는 형태이다.
옵션 | 설명 |
-r | 하위 디렉터리 및 하위 파일들도 같이 압축 |
-P | 압축파일에 암호를 설정 |
-d | 지정된 위치에 압축 해제 |
6-1. unzip
옵션 | 설명 |
-P | 압축파일에 암호가 있는 경우 입력 |
-d | 지정된 위치에 압축 해제 |
아래는 압축 아카이브별 압축용량 테스트 결과이다.
압축방식 | 일반적인 확장자 | tar 옵션 | 압축전 | 압축후 |
tar | .tar | – | 3242225664 | 3221381120 |
compress | .Z | tar cvZf | ||
gzip | .gz | tar cvzf | ||
bzip2 | .bz | tar cvjf | ||
xz | .xz | tar cvJf | ||
zip | .zip | – |