linux

압축과 아카이브

dongwookim 2023. 3. 2. 17:12

tar는 압축을 위한 패키지로 해당파일들을 tar. 확장자의 아카이브 파일로 만들어준다.

상세 옵션은 아래와 같다.

 

tar(Tape Archive)
1. 다수의 파일이나 디렉토리를 하나의 파일로 관리
 1.1 백업 or 압축
 1.2 사용법
    # tar 옵션 생성할파일명 대상파일1 대상파일2 대상파일3 ..
     옵션
       -c: create 생성 시 필수
       -v: 생성 과정을 출력
       -f: 파일명 지정 필수
       -x: 해제 시 필수 옵션
       -t: 아카이브 해제하지 않고 아카이브 내의 파일 출력
       -r: 기존 아카이브 파일에 파일 추가
       -u: 기존 아카이브 파일의 파일 중 업데이트 된 파일이 있는 경우 추가시 사용
       압축옵션    -z : 한번에 gz 파일로 압축 tar cvfz abc.tar.gz a.txt b.txt c.txt
                          -j : 한번에 bz2파일로 압축 tar cvfj abc.tar.bz2 a.txt b.txt c.txt
                          -J : 한번에 xz파일로 압축 tar cvfJ abc.tar.xz a.txt b.txt c.txt

 

예를 들어 설명하면 먼저 a, b, c 라는 이름의 파일을 만들고 abc.tar라는 파일로 압축하였다.

그리고 기존의 txt 파일을 삭제후 abc.tar 파일을 압축해제하면 내부의 a.txt, b.txt, c.txt가 해제되었음을 확인할 수 있다.

 

그리고 rvf 명령어를 사용하면 기존의 tar 파일에 내부 파일을 추가할 수 있으며, 압축해제를 확인하고 내부 파일을 확인하려면 tvf 명령어를 쓰면된다. 아래 실행결과를 보면 rvf 명령어로 abc.tar에 c.txt 파일을 추가하였고, tvf 명령어를 통해 반영되었음을 확인할 수 있다.

 



압축

 

압축은 특정한 확장자로 파일을 합치는 방법으로 크게 3가지가 있으며 내용은 아래와 같다.


1. zip : 윈도우와의 호환성 때문에 사용, 설치 필요
       # yum install -y zip unzip
 1.1 사용법
       # zip ab.zip a.txt b.txt
           압축 파일명, 압축될파일1 압축될파일2
       # unzip 압축파일명

 

예시는 다음과 같다.

a.txt 파일과 b.txt을 zip으로 압축하였고, 기존의 txt 파일을 삭제후 unzip 명령어로 압축해제를 확인할 수 있다.


아래 세가지 압축방법 명령어는 동일하며 확장자명만 수정해주면 된다.

bzip2 확장자에 대해서만 실습을 보이고자한다.


2. gzip : Linux 기본 압축 프로그램
 2.1 사용법
      # gzip 아카이브 파일명 -> 아카이브 파일.gz
    # gzip =1~9 아카이브 파일명 -> 1은 속도 빠르지만 압축률이 낮아짐, 9는 압축률은 높아지고 속도는 느려짐
      # gunzip 아카이브파일명.gz
      # gzip -d 아카이브파일명.gz

3. bzip2: gzip에 비해서 압축율 30% 정도 향상, 설치 필요
              # bzip2 아카이브 파일명 -> 아카이브 파일.bz2
    # bzip =1~9 아카이브 파일명 -> 1은 속도 빠르지만 압축률이 낮아짐, 9는 압축률은 높아지고 속도는 느려짐
      # bunzip 아카이브파일명.bz2
      # bzip2 -d 아카이브파일명.bz2

 

abc.tar 파일을 bzip2 명령어를 이용해 abc.tar.bz2 파일로 만들어 준다.

이를 다시 아카이브 파일로 압축해제를 하려면 bunzip2 명령어를 쓰면 된다.

bunzip2 abc.tar.bz2 명령어를 통해 다시 abc.tar 파일을 확인 할 수 있다.

4. xz: bzip2의 느린 속도 개선
  # xz 아카이브 파일명 -> 아카이브 파일.xz
    # xz =1~9 아카이브 파일명 -> 1은 속도 빠르지만 압축률이 낮아짐, 9는 압축률은 높아지고 속도는 느려짐
      # unxz 아카이브파일명.xz
      # xz -d 아카이브파일명.xz

 


# 다른 경로에 압축을 풀시에는 -C 옵션 이후 경로 입