2003. 6. 5. 03:26

OldPapers/linux 2003. 6. 5. 03:26
tar는 여러개의 파일을 하나의 파일로 묶을 수 있으며 묶여진 파일을 다시 풀수 있는 유틸리티입니다.

또한 묶여진 파일을 풀기전에 어떤파일들이 묶여져 있나를 확인해 볼 수도 있습니다.

먼저 tar파일의 사용형식은 다음과 같습니다.




일반형식 : # tar [옵션] 대상파일




tar를 사용할때에는 여러 가지 옵션에 대해서 알아야합니다.

tar의 옵션에는 약 40여개의 옵션이 있습니다.

하지만 이들 모든 옵션을 모두 사용하는 것은 아니며 중요하고 자주 사용하는 몇 개의 옵션만을 알아두면 됩니다.

그리고 필요한 옵션은 그때그때 메뉴얼(man tar)을 사용하여 참조한 후에 사용하시면 됩니다.


   c : tar파일을 생성할때(여러개의 파일을 하나의 파일로 묶을 때) 반드시 사용

   d : tar파일과 해당 파일시스템간의 차이점을 확인하고자 할 때 사용

   r : tar파일에 다른파일들을 추가하고자 할 경우에 사용

   t : tar파일의 내용을 확인하고자 할 때 반드시 사용

   f : tar파일을 사용할때에는 반드시 사용

   p : tar파일을 생성할때(묶을 때) 당시의 파일퍼미션을 그대로 하여 풀어줄 때 사용

   v : 묶을때나 풀어줄 때 파일들의 내용을 자세하게 보려고 할 때 사용

   Z : compress로 압축파일을 사용할 때 압축이나 해제까지 한번에 할 때 사용

   z : gzip과 관련하여 압축이나 해제를 한꺼번에 하려고 할 때 사용




tar로 파일작업을 하는 경우에는 다음의 세경우가 있습니다.

즉, 첫 번째가 여러개의 파일 및 디렉토리들을 하나의 tar파일로 묶는 경우이며, 두 번째가 이렇게 묶은 tar파일을 다시 풀어준 경우이며, 세 번째의 경우가 묶여져 있는 파일의 내용을 확인하는 것입니다. 즉,


묶을 때 : # tar cvf 압축파일.tar 압축대상파일 및 디렉토리
확인할 때 : # tar tvf 압축파일.tar
풀 때 : # tar xvf 압축파일.tar

각각의 경우에 대한 예를 들어 보겠습니다.



[sspark@nice dat]$ ls -l

total 44

-rw-r--r-- 1 sspark sspark 5847 Jan 27 10:37 browser.html

-rw-r--r-- 1 sspark sspark 5879 Jan 27 10:37 host.html

-rw-r--r-- 1 sspark sspark 8295 Jan 27 10:37 hour.html

-rw-r--r-- 1 sspark root 858 Dec 7 04:02 log.range

-rw-r--r-- 1 sspark sspark 10733 Jan 27 10:37 page.html

[sspark@nice dat]$ tar cvf myhome.tar *

browser.html

host.html

hour.html

log.range

page.html


위의 예는 현재 디렉토리내에 있는 모든파일 및 디렉토리들을 myhome.tar라는 파일하나로 묶어라는 것입니다.

원본파일들은 그대로 존재하게되며 myhome.tar라는 파일이 새로 생성되어 그 파일내에 모든파일 및 디렉토리들이 들어가게 됩니다.

c옵션을 반드시 사용하셔야합니다.




[sspark@nice dat]$ tar tvf myhome.tar

-rw-r--r-- sspark/sspark 5847 2000-01-27 10:37 browser.html

-rw-r--r-- sspark/sspark 5879 2000-01-27 10:37 host.html

-rw-r--r-- sspark/sspark 8295 2000-01-27 10:37 hour.html

-rw-r--r-- sspark/root 858 1999-12-07 04:02 log.range

-rw-r--r-- sspark/sspark 10733 2000-01-27 10:37 page.html




이 예는 myhome.tar라는 tar파일에 어떤파일들이 묶여져 있나를 확인해 본 것입니다.

t옵션을 반드시 사용하셔야 합니다.



[sspark@nice dat]$ ls -l

total 40

-rw-rw-r-- 1 sspark sspark 40960 Jan 27 10:38 myhome.tar

[sspark@nice dat]$

[sspark@nice dat]$ tar xvf myhome.tar

browser.html

host.html

hour.html

log.range

page.html


마지막예로서 myhome.tar에 묶여져 있는 파일들을 현재 디렉토리에 풀어준 것입니다.

x옵션을 반드시 사용하셔야합니다.