- Today
- Total
프로그래밍 농장
Linux [ 압축 ( compress, zip, gzip, bzip2, xz) ] 본문
-리눅스에서의 압축방법에 대해서 알아보자
-기본적으로 리눅스에서는 compress , zip , gzip , bzip2 , xz 들을 이용해 압축작업을 한다.
( ==각 유틸에 따라서 압축 방법, 압축속도, 압축률 차이가있음. )
== 요즘주로사용하는 명령어 : gzip , bzip2 ,xz 등을 사용함.
==쓰는 형식은 같아도 사용하는 압축도구에 따라서 압축되는 크기차이가있다.
-압축해보기
1-1. compress -> compress [파일명] : z확장자가붙어서 압축되며, 원본이 사라짐.
1-2 . compress 압축해제법 :
1. uncompress 명령어로 압축할떄처럼 똑같이 압축파일명 대입후 실행
2. compress -d 옵션을 넣어서 똑같이 압축파일명 대입후 실행
2-1. gzip --> gzip [파일명] : gz확장자 , 원본이 사라짐
2-2 . gzip 압축해제법 :
1. gunzip 명령어로 압축할떄처럼 똑같이 압축파일명 대입후 실행
2. gzip -d 옵션을 넣어서 똑같이 압축파일명 대입후 실행
3-1. bzip2 --> bzip2 [파일명] : bz2확장자, 원본이 사라짐
3-2. bzip2 압축해제법 :
1. bunzip2 명령어로 압축할떄처럼 똑같이 압축파일명 대입후 실행
2. bzip2 -d 옵션을 넣어서 똑같이 압축파일명 대입후 실행
4-1. xz ---> xz [파일명] : xz확장자, 원본사라짐
4-2. xz 압축해제법 :
1. unxz 명령어로 압축할떄처럼 똑같이 압축파일명 대입후 실행
2. xz -d 옵션을 넣어서 똑같이 압축파일명 대입후 실행
5-1. zip ---> zip [생성할 압축 파일명][파일명] : zip 확장자 , 압축파일이 생겨도 원본이 유지됨.
5-2. zip 압축해제법 :
1. unzip 명령어로 압축할떄처럼 똑같이 압축파일명 대입후 실행
특이사항 : unzip은, zip은 특성과 마찬가지로, test.zip 을 풀어줘도, test.zip파일 원본은 그대로 같이있다.
-zip을 제외한 위의 압축 명령어들은 단일압축만 되는것이 기본적이다 .
ex) grub~ grub4를 묶어서 명령어로 압축해도 같은형식으로만 각각 압축된다.
그렇다면?
--> zip 은 다중 압축이 가능 , 하지만, 압축률 성능이 좋지않음.
--> compress , gzip , bzip2 , xz 는 단일 압축만 지원, 다중 압축을 하기위해서, tar 작업 이 필요하다.
tar 작업이란? 단순하게 말하면, 가방에 압축으로 묶어줄 문서들을 담아주는 과정이다. 이 tar과정이후에, 묶인 tar을 여러가지 압축방법을 통해서 작업해주는것이다.
-tar 사용형식
보관 : tar cvf [archiving file].tar [source] --> 여기서 cvf 는 3가지옵션이며, tar는 옵션에 '-'를 쓰지않는다.
c: 생성, v: 보여줌, f: 파일묶음지정 / 지정된파일이보관되는과정을 보여줘
해제 : tar xvf [archiving file].tar
x: 풀기
그런데 여기서, 그냥 위처럼 tar로 만들게되면, 아래와같이 그냥 test라고만 만들어져서 tar인지 파일인지 구분을못한다.
그래서 아래처럼 .tar 를 이름에 붙혀야한다.
그렇다면, 아래와 같이 실행과정이 될것이다.
그럼 이제 tar 를 푸는것은 옵션만 바꿔주면 된다. 아래와같다. 여기서 쓰이는 옵션 xvf 에서 x 는 풀기라는 뜻이며, 나머지옵션은 위의 압축과 같이 압축/풀이과정을 보여주는 옵션들이다. 결과는 아래와 같다.
+ 추가로, tar 를 풀어줄떄, -C 옵션을 통해서, 풀어줄 경로를 지정해줄수도있다.
-> 위의 작업들을 한줄로 줄여서 같이하고싶다면, 아래와 같은 옵션이 필요하다.
cfv+옵션명추가
1. tar + gzip : z옵션
ex) tar cvfz bin.tar.gz /bin/*
2. tar + bzip2 : j옵션
ex) tar cvfz bin.tar.bz2/bin/*
3. tar + xz : J 옵션
ex) tar cfvJ bin.tar.xz /bin/*
-실습예제
그렇다면 /bin/* 경로내의 데이터들을 각 압축방법을 이용해서 /comp디렉토리생성후, /comp/* 내의 경로로 압축해본후, 각 압축방법의 압축률을 비교해서 압축률이 높은순으로 나열해보자.
아래 출력결과 / 답안
압축률 높은순서
xz -> bzip2 -> gzip -> zip -> compress
'Linux' 카테고리의 다른 글
Linux [ skel 에 대해서 ] (0) | 2019.11.04 |
---|---|
Linux [ cp : omitting directory 에 대한 설명 ] (0) | 2019.11.04 |
Linux [ cat 에 대한 여러 옵션들 ] (0) | 2019.10.28 |
Linux [ cat / head / tail ] (0) | 2019.10.28 |
Linux [ 시스템 종료 명령 ] (0) | 2019.10.24 |