본문 바로가기
컴퓨터/리눅스

[Linux] 028. 리눅스 파일 압축하는 방법 & 압축 푸는 방법

by Tommy0927 2020. 12. 14.
반응형


1. 리눅스 파일 압축하는 방법    : compress, zip, gzip, bzip2, xz


리눅스에 파일을 압축하고 압축을 푸는 방법에 대해 알아보도록 하겠습니다.

기본적으로 명령어는 compress, zip, gzip, bzip2, xz 가 있는데 이중에 gzip, bzip2, xz 명령어를 주로 사용합니다.

 

그럼 각각의 명령어에 어떤 차이가 있는지 알아보도록 하겠습니다.

 

기본적으로 명령어 사용 형식은

이렇게 입력하면 됩니다.

각각의 명령어의 특징을 먼저 말씀해 드리자면,

 

compress, gzip, bzip2, xz 

 

1. 압축을 하면 확장자가 각 명령어에 따라 달라진다.

2. 당연히 크기가 줄어든다.

3. 원본이 사라진다.

 

zip

 

1. 확장자가 달라진다.

2. 크기가 줄어든다.

3. 원본은 그대로 있되, 압축된 파일이 생긴다.

 

또한, 압축의 효율성으로 따지자면,

 

         ' xz > bzip2 > zip > compress ' 의 순으로 압축이 잘되며,

 

당연히 압축률이 높을 수록 압축하는 시간은 좀 더 걸립니다. 그러므로 가장 비효율적인 압축명령어는 'compress'가 되겠습니다(리눅스마스터1급 시험문제 출제되니 알아두시면 좋을 것 같습니다.)

 

 

그럼 이제, 아래 사진처럼 5개의 파일을 가지고 압축을 각각 해보도록 하겠습니다.

 

 

 

'compress'로 압축

 

'compress 파일명'을 입력하여 압축한 다음 확인해 보니, 파일 크기가 줄었으며, 확장자'Z'가 붙었고, 원본이 삭제된 것을 볼 수 있습니다.

 

 

 

'gzip'으로 압축

 

 

'gzip 파일명'을 입력, 파일 크기가 줄었으며 확장자'gz'가 붙었고 원본이 사라진 것을 볼 수 있습니다.

 

 

 

 

'bzip2'로 압축

 

 

'bzip2 파일명'을 입력  =  파일크기 축소, 확장자'bz2',원본 사라짐

 

 

 

'xz'로 압축

 

 

'xz 파일명'을 입력, 파일 크기가 줄었고, 확장자'xz', 원본이 사라짐

 

 

 

'zip'으로 압축

 

 

'zip 파일명'으로 압축 = 크기가 축소 되었고, 확장자'zip'이 생겼지만, 원본이 사라지지 않은 채 압축파일이 하나 더 생성된 것을 볼 수 있습니다.

 

 

한 번에 여러 파일 압축하는 방법

 

compress, gzip, bzip2, xz, zip 명령어 입력하고 './*'(현재파일 전체)를 입력하면 한 번에 압축이 된 것을 볼 수 있습니다.

 

그러나 우리가 알고 있는 압축은, 파일 하나만 압축을 하는 것보다는 여러 파일을 뭉쳐서 다중파일 압축일 텐데요.

 

다중파일을 한번에 압축을 하려면 두 가지 방법이 있습니다.

 

1) 'zip'명령어를 이용한 압축

2) 'tar'라는 명령어를 사용하여 압축할 수 있습니다.

 

 

 

'zip'을 이용한 다중 파일 하나로 압축

 

 

'zip'명령어를 입력하고 대상 파일을 './*'(전체파일 선택)을 하면 원본은 그대로 있되, 압축파일이 하나로 생성된 것을 확인할 수 있습니다.

 

 

'tar'를 이용하여 다중 파일 하나로 압축

zip이라는 명령어로 간단하게 다중 파일을 압축할 수 있지만, 'tar' 명령어를 이용하는 이유는 파일 크기가 더 많이 압축된다는 점입니다.

 

tar는 엄연히 압축명령어라기 보단 'tar(tape archive)' 문서를 보관하는 곳이라고 생각하시면 됩니다.

 

보관 방법 : tar cvf [보관파일].tar p[source]

 

해제 방법 : tar xvf [보관파일].tar 를 입력하여 다중파일을 한 곳에 모으기도 하고 한 곳에 모인 파일을 다시 각기 파일로 해제할 수 있기도 합니다.

 

여기서 cvf나 xvf는 옵션이지만, tar라는 명령어에 옵션을 사용할 때는 '-'를 사용하지 않고 그냥 쓰며 순서도 fcv로 적어도 상관없는 것처럼 순서도 중요하지 않습니다.

 

c : 생성 ,   v: 보여줌 ,  h: 파일 묶음 지정 ,  x : 풀기  라는 옵션으로 생각하시면 됩니다.

 

 

'tar cvf [보관 명] [보관할 파일들]' 를 입력하시면, 원본 삭제 없이 'grub.tar'이라는 파일 하나에 4개의 파일이 보관된것을 알 수 있습니다. 그러나 위에서도 말씀 드렸다 시피 압축이 아니라 보관이기에 파일은 4개의 파일을 합친 크기보다 더 큰 것을 알 수 있습니다.

 

 

이러한 'tar'보관 파일을 압축명령어로 압축을 하니 위에 사진처럼 'gz'라는 확장자가 붙으며 파일 크기가 대폭 압축이 된것을 알 수 있습니다.

 

 


2. 압축 푸는 방법

            :uncompress,  gungzip,  bunbzip, unxz, unzip  or  각 명령어 -d


 

압축을 푸는 방법은 압축 푸는 명령어 또는 각 압축 명령어 뒤에 -d 옵션을 입력해주면 압축이 풀립니다.

 

 

'uncompress [압축파일명] or compress -d [압축파일명]'

 

'uncompress grub.cfg.Z' 과 'compress -d grub.cfg.Z' 명령어를 사용하여 압축 푼것을 아래 사진에서 확인할 수 있습니다.

 

 

 

'gunzip [압축파일명] or gzip -d [압축파일명]'

 

 

'gunzip grub1.cfg.gz' 와 'gzip -d grub1.cfg.gz' 를 이용하여 압축파일을 해제한 것을 아래 사진으로 확인할 수 있습니다.

 

 

 

'bunzip2 [압축파일명]' or 'bzip2 -d [압축파일명]'

 

'bunzip2 grub2.cfg.bz2'와 'bzip2 -d grub2.cfg.bz2' 를 이용하여 압축파일 해제한 것을 아래 사진에서 확인할 수 있습니다.

 

 

 

''unxz [압축파일명]' or 'xz -d [압축파일명]'

 

'unxz grub3.cfg.xz' or 'xz -d grub3.cfg.xz' 를 이용하여 압축파일을 해제한 것을 아래 사진에서 확인할 수 있습니다.

 

 

 

'unzip [압축파일명]

 

'unzip grub4.cfg.zip'을 사용하여 압축파일을 해제한 것을 아래 사진에서 확인할 수 있습니다.

 

 

 

'tar' 보관소를 이용하여 압축이 된 파일 해제하는 방법

 

우선 압축된 파일을 압축해제 명령어로 압축을 풀어준 후에

 

'tar xvf [tar파일명]'을 입력하여 보관된 파일을 각기 파일로 해제를 시켜주면 됩니다.

 

 

 

 

'tar'해제 명령어를 입력할 때, 옵션 -C(대문자씨)를 입력하고 뒤에 보관해제하고 싶은 경로를 입력하면

 

특정 경로에 보관해제 될 수도 있는 특성을 가지고 있습니다.

 

반응형

댓글