[맥 터미널 / Unix] gzip, tar 개념 및 tar.gz 압축 해제 방법

본 글은 Unix 커맨드 ‘gzip’과 ‘tar’의 간략한 개념과 ‘tar.gz’ 파일 압축을 해제하는 방법에 관한 내용입니다. 필요한 내용만 추려 적어두었으니, 필요하신 분들은 도움되셨으면 좋겠습니다.

우리가 흔히 생각하는 압축이란 보통 ‘Archiving(많은 파일을 한 곳으로 모으는 것)’과 ‘Compressing(파일의 사이즈를 줄이는 것)’이 합쳐져서 일컬어 집니다. 하지만, 유닉스 시스템 안에선 ‘Archiving’과 ‘Compressing’은 분리되어 있으며, 각각의 명령어를 따로 사용합니다.

일반적으로 ‘gzip’ 커맨드가 압축(Compressing)을 위한 명령어라면, ‘tar’ 커맨드는 아카이빙(Archiving)을 위한 명령어입니다.


gzip | 압축/압축 해제

압축할 때의 gzip 명령어의 문법은 gzip [-v] [파일 이름] 입니다.

기본 Syntax ▼

gzip -v DSC02030.jpg

* -v : ‘verbose output’이라고 하며, 진행 로그를 보여주는 플래그(옵션)입니다. ‘-v’ 없이도 기능상에는 문제가 없지만, 같이 사용하는 것이 편리합니다.

예시 ▼

$ gzip -v DSC02030.jpg
DSC02030.jpg:        2.6% -- replaced with DSC02030.jpg.gz

$ ls
DSC02030.jpg.gz*

 

압축을 해제할 때의 문법은 gunzip [-v] [파일 이름] 입니다.

기본 Syntax ▼

gunzip -v DSC02030.jpg.gz*

* -v : ‘verbose output’이라고 하며, 진행 로그를 보여주는 플래그(옵션)입니다. ‘-v’ 없이도 기능상에는 문제가 없지만, 같이 사용하는 것이 편리합니다.

예시 ▼

$ gunzip DSC02030.jpg.gz

$ ls
DSC02030.jpg

tar | 아카이빙 + 압축

‘tar’ 명령어는 Tape Archiving의 약어입니다. ‘tar’를 이용하여 아카이빙을 하려면 문법과 함께 옵션 몇가지를 알고 계셔야 합니다. 아래 옵션들을 각 예시에 한번 더 명시해두었습니다.

기본 Syntax ▼

tar [c|t|x] [flags] 파일 이름
  • -c : 아카이빙 하기
  • -v : Verbose 작업 로그 출력
  • -f : 출력 파일(output) 지정
  • -x : 아카이빙 해제(언아키이빙)
  • -z : gzip으로 압축과 동시에 아카이빙

 

압축 없이 파일만 묶기(아카이빙)

아래 예시에서는 압축 작업을 배제하고, 파일들만 하나로 묶어준 것(아카이빙)입니다.

기본 Syntax ▼

tar -cvf [출력 파일] [묶을 파일 혹은 디렉토리]
  • -c : 아카이빙 하기
  • -v : Verbose 작업 로그 출력
  • -f : 출력 파일(output) 지정

예시 ▼

~/Test (512) $tar -cvf newPhoto.tar newPhoto
a newPhoto
a newPhoto/DSC02030.jpg
a newPhoto/DSC02034.jpg
a newPhoto/DSC02046.jpg
a newPhoto/DSC02047.jpg
a newPhoto/DSC02056.jpg
a newPhoto/DSC02058.jpg
a newPhoto/DSC02059.jpg
a newPhoto/DSC02060.jpg

newPhoto.tar // 결과물

 

묶인 파일 언아카이빙(풀기)

아카이빙한 파일(.tar)를 다시 언아카이빙(풀기)하는 방법입니다.

기본 Syntax ▼

tar -xvf [언아카이빙할 파일]
  • -x : 아카이빙 해제
  • -v : Verbose 작업 로그 출력
  • -f : 출력 파일(output) 지정

예시 ▼

tar -xvf newPhoto.tar
x newPhoto/
x newPhoto/DSC02030.jpg
x newPhoto/._DSC02034.jpg

[중략]

x newPhoto/DSC02059.jpg
x newPhoto/._DSC02060.jpg
x newPhoto/DSC02060.jpg

 

tar.gz | 아카이빙 + 압축/압축 해제

위의 예시와 ‘-z’ 옵션을 제외하곤 모두 일치합니다. 즉, ‘-z’ 옵션만 추가해주시면 됩니다.

압축 + 아카이빙 기본 Syntax ▼

tar -czvf [출력 파일] [묶을 파일 혹은 디렉토리]

압축 + 아키이빙 예시

tar -czvf newPhoto.tar.gz newPhoto
a newPhoto
a newPhoto/DSC02030.jpg
a newPhoto/DSC02034.jpg
a newPhoto/DSC02046.jpg
a newPhoto/DSC02047.jpg
a newPhoto/DSC02056.jpg
a newPhoto/DSC02058.jpg
a newPhoto/DSC02059.jpg
a newPhoto/DSC02060.jpg

 

압축 해제 + 언아카이빙 기본 Syntax ▼

tar -xzvf [언아카이빙할 파일]

압축 해제 + 언아카이빙 예시 ▼

~/Test (522) $tar -xzvf newPhoto.tar.gz
x newPhoto/
x newPhoto/DSC02030.jpg
x newPhoto/._DSC02034.jpg

[중략]

x newPhoto/._DSC02060.jpg
x newPhoto/DSC02060.jpg

이상입니다.

2 COMMENTS

댓글 남기기