리눅스 tar.gz 파일 압축 및 풀기, 보기 사용 방법

리눅스

TAR 파일은 Tape Archive의 약자로 유닉스 계열에서 파일을 묶을때 사용합니다.

윈도우에서 기본적으로 지원하는 압축 형식이 ZIP 파일이라면 리눅스 대부분의 배포판에서 별도의 설치 없이 기본적으로 지원하는 압축 형식이 tar.gz 입니다.

tar 파일과 tar.gz 차이는 압축의 유무로 기본적으로 .tar 파일 자체는 압축이 되지 않지만 gz(GNU Zip)와 같이 사용해 압축하면서 파일을 묶을 수 있습니다.

또한 tar 파일로 압축해도 디렉토리 또는 파일에 대한 권한 정보를 그대로 가지고 있기 때문에 (-p 옵션) 서버를 관리한다면 권한을 다시 설정하는 번거로움이 사라진다는 장점이 있는데요.

tar 압축은 다음과 같은 명령어로 활용할 수 있습니다.

tar 압축 및 풀기 명령어 예제

 

tar 압축하기

tar cvf 파일이름.tar /압축할-폴더-경로-지정
root@SERVER:/home/pg/www# tar -cvf web_backup.tar ./
[압축 파일 리스팅]
.
.
root@SERVER:/home/pg/www# ll
-rw-r--r-- 1 root root 123392000 Apr 20 21:11 web_backup.tar

예로 현재 위치한 디렉토리 하위의 모든 파일을 압축하고 싶을때 상대 경로를 사용하면 됩니다.

root@SERVER:/# tar -cvf /root/web_backup.tar /home/pg/www

현재 위치한 디렉토리가 아닌 원하는 디렉토리 하위 파일들을 압축하고 압축된 tar 파일을 다른 디렉토리로 지정하고 싶다면 위와 같이 각각 절대 경로로 지정하면 됩니다.

 

tar 여러 파일 압축하기

tar cvf 파일이름.tar /폴더경로1 /폴더경로2
root@SERVER:/# tar cvf abc.tar /etc/nginx /home/pg/www/extrememanual.net

여러 경로의 파일들을 한번에 압축하고 싶다면 위처럼 여러 디렉토리 경로를 뒤에 추가하면 됩니다.

TIP
절대경로로 tar 파일을 묶을 경우 디렉토리 계층을 유지할 수 있기 때문에 백업 파일 용도라면 나중에 쉽게 파일의 위치를 가늠할 수 있습니다.

 

특정 폴더, 파일 제외하고 압축하기

tar cvf 파일이름.tar –exclude /제외할폴더 /압축할폴더

–exclude는 -가 2개입니다.

tar.gz 압축하기

tar cvfz 파일이름.tar.gz /압축할-폴더-경로-지정

tar 파일은 서두에서 얘기했던 것처럼 단순히 파일을 묶는 기능만 하고 압축률은 없기 때문에 용량을 줄이기 위해서 위와 같이 옵션에 z를 추가해 tar.gz로 압축할 수 있습니다.

 

tar 내용 보기

tar tvf 파일이름.tar
tar tvfz 파일이름.tar.gz

tar/tar.gz 파일의 내용을 확인하고 싶다면 위와 같이 확인할 수 있습니다.

 

tar 압축풀기

tar xvf 파일명.tar
tar xvf 파일명.tar -C /압축-풀릴-폴더-경로-지정

기본적으로 tar 파일이 위치한 디렉토리 하위에 압축이 풀리며 위와 같이 -C (대문자) 옵션으로 압축이 풀릴 경로를 지정할 수 있습니다.

 

특정 폴더 또는 파일만 압축 풀기

tar xvf 파일명.tar 특정-폴더-지정/

root@VENUS:/home/exma/www/test# tar xvf abc.tar etc/nginx
etc/nginx/
etc/nginx/sites-enabled/
etc/nginx/sites-enabled/localhost
etc/nginx/uwsgi_params
etc/nginx/mime.types
etc/nginx/fastcgi.conf
[중략]

만일 압축파일 안의 특정 디렉토리 또는 파일만 선택적으로 압축을 풀고 싶은 경우 tvf 옵션으로 tar 파일 내용을 확인한 다음 압축을 푸는 명령어 뒤에 디렉토리 또는 파일 경로를 입력하면 선택적으로 압축을 풀 수 있습니다.

 

tar.gz 압축풀기

tar xvfz 파일명.tar

압축할 때와 같이 z 옵션이 붙으며 나머지는 tar 파일과 같은 요령으로 압축을 풀 수 있습니다.

주요 옵션 정리

옵션내용
c압축할때 (필수)
x압축풀때 (필수)
v파일 처리 내용 표시
zgz 압축
f지정한 파일명에 저장 (필수)
p파일에 지정된 권한까지 저장
-C(대문자)압축 풀때 디렉토리 지정
ttar 파일 안의 리스트 출력

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

Fill out this field
Fill out this field
유효한 이메일 주소를 입력해주세요.

Linux 크론탭 Crontab 사용법
Linux 크론탭(Crontab) 사용법
크론탭(Crontab)은 리눅스에서 정해진 시간에 스크립트나 데몬 등을 실행하는 스케줄러(Scheduler) 기능입니다. 특정 시간, 요일에 특정한 작업을 실행해야 하거나 반복 작업을 할…
우분투 컴퓨터 이름 Hostname 변경하는 방법
우분투 컴퓨터 이름 hostname 변경하는 방법
우분투에서 터미널을 열거나 네트워크 공유를 사용해야할 때 표시되는 컴퓨터 이름은 hostname이라고 불리며 hostname을 변경하면 우분투에 표시되는 컴퓨터 이름을 지정할 수…