2011. 8. 11. 02:27

 

 

 

 

 

 

 

 

 

 

tar(tape archiver)는 초기 유닉스 시스템에서부터 사용.

지금은 마그네틱 테이프가 일반적이지 않지만, tar는 여전히

아카이브 파일을 생성하고 여러 미디어를 통해 배포하는데

선호되는 명령어이다.

 

 

◈ [ 기능 옵션 ] - 반드시 아래 옵션들 중 하나가 들어가야 함

옵 션 [ ,긴 옵션 ]

설 명

-c, --create

새로운 아카이브를 만든다

-x, --extract

아카이브 파일을 풀어준다

-d, --diff

아카이브 파일을 비교하여 다른 점을 찾는다

-u, --update

아카이브 파일에 저장된 사본보다 새로운 파일만 덧붙여 업데이트

-A, --catenate

하나의 tar 파일에 다른 파일을 병합

-r, --append

아카이브 파일 끝에 파일을 덧붙여 추가

-t, --list

아카이브 파일 내용목록을 보여준다

--delete

기존 아카이브 파일에서 삭제 (자기 테이프에 쓰면 안됨X)

 

[ 부가적인 옵션 ]

옵 션 [ ,긴 옵션 ]

설 명

-f, --file ARCHIVE

지정한 아카이브파일에 읽기 ∙ 쓰기를 실행. (필수)

" - " 는 표준입력에서 데이터를 받거나 표준출력으로 데이터를 쓴다.

-v, --verbose

처리중인 과정을 자세히 출력

-p

모든 퍼미션 정보를 유지.

-j, --bzip2

bzip2 사용하여 파일 압축/풀기

-z, --[un]gzip

gzip 사용하여 파일 압축/풀기

-Z, --[un]compress

compress 사용하여 파일 압축/풀기

--use-compress-program PROG

PROG 로 지정된 압축툴로 아카이브 파일을 다시 처리

( PROG는 반드시 -d(압축 해제)를 처리해야 함)

 

 

tar는 명령어에 옵션을 넣어주는 표준적인 방법이 정해지기 전에 만들어진 명령이다.

지금은 tar에서도 대시(-)로 시작하는 옵션을 사용할 수 있지만 항상 필요한 것은 아니다.

때문에 옵션을 의미하는 문자가 없는 tar xvf와 같은 명령어도 볼 수 있다.

 

 

tar [ .tar ] - 기본 사용 예

tar는 기본적으로 압축은 하지 않고 단순히 하나의 파일(.tar)로 묶음.

 

▶ tar 아카이브 파일 생성(묶기) : (c옵션)

$ tar cvf archive.tar *.txt

aaa.txt

bbb.txt

ccc.txt

 

▶ tar 아카이브 파일 풀기 : (x옵션)

$ tar xvf archive.tar

aaa.txt

bbb.txt

ccc.txt

 

▶ tar 아카이브 파일 목록 보기 : (t옵션)

$ tar tvf archive.tar

-rw-r--r-- devanix/devanix 19 2011-08-10 22:42 aaa.txt

-rw-r--r-- devanix/devanix 16 2011-08-10 22:42 bbb.txt

-rw-r--r-- devanix/devanix 19 2011-08-10 22:42 ccc.txt

 

▶ tar 아카이브 파일에 다른 파일을 병합 : (A 옵션)

$ tar -Af archive1.tar archive2.tar

$ tar tvf archive1.tar

-rw-r--r-- devanix/devanix 19 2011-08-10 22:42 aaa.txt

-rw-r--r-- devanix/devanix 16 2011-08-10 22:42 bbb.txt

-rw-r--r-- devanix/devanix 19 2011-08-10 22:42 ccc.txt

-rw-r--r-- devanix/devanix 40 2011-08-10 23:55 ddd.txt

-rw-r--r-- devanix/devanix 35 2011-08-10 23:55 eee.txt

archive2.tar 파일이 archive1.tar 아카이브에 추가된다.

 

▶ tar 아카이브에서 파일 삭제 : (--delete)

$ tar --delete ddd.txt eee.txt -f archive1.tar

$ tar tvf archive1.tar

-rw-r--r-- devanix/devanix 19 2011-08-10 22:42 aaa.txt

-rw-r--r-- devanix/devanix 16 2011-08-10 22:42 bbb.txt

-rw-r--r-- devanix/devanix 19 2011-08-10 22:42 ccc.txt

 

▶ tar 아카이브에 하나 이상의 파일 추가 : (r 옵션)

$ tar rvf archive1.tar ddd.txt eee.txt

ddd.txt

eee.txt

ddd.txt, eee.txtarchive1.tar 아카이브 파일에 추가 된다.

 

 

 

 

tar + 타 압축 필터(gzip, bzip2, ...)

♧ tar + gzip (z 옵션)

tar로 하나의 파일로 묶고 gzip으로 압축하는 과정을 한번에 수행.

tar+gzip확장자 : [ .tar.gz | .tar.z | .tgz ]

 

▶ tar + gzip 아카이브 파일 압축 생성 : (.tar.gz)

$ tar czvf archive.tar.gz *.txt

aaa.txt

bbb.txt

ccc.txt

▷ z옵션이 지원하지 않는 경우 :

$ tar cvf - *.txt | gzip -c > archive.tar.gz

tar로 하나의 아카이브 파일로 묶고(.tar) gzip로 압축(.gz) 한다.

 

▶ tar + gzip 아카이브 압축 파일 풀기 : (.tar.gz)

$ tar xzvf archive.tar.gz

aaa.txt

bbb.txt

ccc.txt

▷ z옵션이 지원하지 않는 경우 :

$ gunzip -c archive.tar.gz | tar xvf -

gunzip으로 압축 파일을 풀고(.gz) tar로 나머지 아카이브 파일 풀기(.tar)

 

 

♧ tar + bzip2 (j 옵션)

tar로 하나의 파일로 묶고 bzip2으로 압축하는 과정을 한번에 수행.

tar+bzip2확장자 : [ .tar.bz2 ]

 

▶ 압축 생성 & 해제 역시 위의 예와 동일하나 해당 압축 필터 사용 옵션으로 변경 한다.

/* 아카이브 압축 생성 */

$ tar cjvf archive.tar.bz2 *.txt

/* 아카이브 압축 풀기 */

$ tar xjvf archive.tar.bz2

 

♧ tar + lzop (--use-compress-progarm 옵션)

--use-compress-program옵션 사용하여 lzop 압축 툴 사용.

⇒ 해당 lzop 압축 유틸은 조금 덜 통합된 tar이다.

lzop를 사용하기 전에 lzop 패키지를 먼저 인스톨 해야 한다.

tar+lzop확장자 : [ .tar.lzo ]

 

▶ tar+lzop 압축 & 해제 사용

/* 아카이브 압축 생성 */

$ tar --use-compress-program=lzop -cf archive.tar.lzo *.txt

/* 아카이브 압축 풀기 */

$ tar --use-compress-program=lzop -xf archive.tar.lzo

 

 

※ 다른 압축 파일 역시 사용 방법은 다 비슷하므로 file 명령을 사용하여 압축 파일의 종류를 먼저 구분한다.

$ file archive.tgz

archive.tgz: gzip compressed data, from Unix, …

$ file archive.tar.bz2

archi.tar.bz2: bzip2 compressed data, block size = 900k

$ file archive.tar.lzo

archive.tar.lzo: lzop compressed data - version 1.020, LZO1X-1, os: Unix

 

 

 

Posted by devanix