1. 묶고 풀기 ( tar )

☞ tar 명령은 파일을 묶는 명령이다. 

원래는 백업을 위해 테이프백업 장치인 DAT  Device 에 백업을 할 때 쓰는 명령이었지만, 요즘은 파일의 압축이나 묶기에 더 많이 쓰이는 편이다. 

압축명령에는 compress 나 gzip 이 따로 있지만 tar 명령으로 통합해서 쓰면 편리하고 좋다. 우선 파일을 묶는 방법에 대해 알아 본다.


- tar 명령으로 파일을 묶을 때는 주의해야 할 것이 있는데 바로 디렉토리 단위로 묶는 것이다. 공개 자료실등에서 tar 파일을 받아서 풀 경우 디렉토리 단위로 묶지 않은 파일이면 수십개의 파일이 풀려 나와 디렉토리가 엉망이 되니 신경을 써야 된다. 

- tar는 아카이브 안의 파일에 대한 소유권과 허가권을 그대로 가지고 있으며, 심볼릭 링크나 하드링크, 디렉토리 구조를 유지한다. 뒤에 나오지만 이런점 때문에 tar를 이용해서 시스템 내에서의 데이터의 이동이나 복사에 자주 사용된다. 


  • 묶기
    $ tar cvf 생성_파일명.tar 대상 파일명(또는 대상 디렉토리)
  • 풀기
    $ tar xvf 생성_파일명.tar 


ex) 

$ tar cvf doc.tar doc/

$ tar xvf doc.tar


☞ tar 파일의 종류는 다음과 같다.

  • *.tar       <-- 일반적으로 tar로만 묶었을 때
  • *.tar.Z     <-- compress 로 압축했을 때
  • *.tar.z     <-- gzip 으로 압축(gunzip으로 푼다)
  • *.tar.gz    <-- gzip 으로 압축(gunzip으로 푼다)
  • *.tgz       <-- gzip 으로 압축(gunzip으로 푼다) 


2. 압축, 압축풀기

☞ 압축은 compress 나 gzip 등의 명령을 쓰면 된다. 

  • compress를 이용한 압축(*.tar.Z)
    $ compress 대상파일명.tar
  • uncompress를 이용한 압출풀기
    $ uncompress 대상파일명.tar.Z 


  • gzip을 이용한 압출(*.tar.gz)
    $ gzip 대상파일명.tar 
  • gunzip을 이용한 압축풀기
    $ gunzip 대상파일명.tar.gz


- 각각의 경우에서 뒤의 확장자 .Z .gz가 붙고 떨어지는 것을 주의 깊게 봐야 한다. 

- 파일을 풀기 전에 tar 파일의 내용을 알고 싶을 때 직접 풀지 않고 내용을 보려면 -t 옵션을 주어 풀기를 test 할 수 있다.

ex)  $ tar tvf 대상 파일명.tar


3. 동시수행

☞ tar 명령으로 묶기와 압축을 동시에 수행할 수 있다. 

아래와 같이 tar 명령에서 z 옵션을 주면 된다. 하지만 사용되는 OS에 따라서 z옵션이 지원되지 않는 경우도 있다.


  • 동시 수행
    $ tar cvfz 생성파일명.tgz  대상파일/
    $ tar xvfz 대상파일명.tgz
    $ tar tvfz 대상파일명.tgz


  • 파이프를 이용한 압축 (*.tgz)
    $ tar cvf - 대상파일/ | gzip > 생성파일명.tgz 
  • 파이프를 이용한 압축풀기
    $ gunzip -c 대상파일명.tgz | tar xvf - 


  • 묶어서 디렉토리 옮긴 후 풀기 
    $ tar cvf - 대상파일명 | ( cd 디렉토리명 ; tar xvf - ) 

+ Recent posts