강좌
클라우드/리눅스에 관한 강좌입니다.
리눅스 분류

압축유틸 파워강좌tar 1편

작성자 정보

  • 웹관리자 작성
  • 작성일

컨텐츠 정보

본문

압축유틸 파워강좌tar 1<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

 

 

 

 

 

 

 

 

 -----------------------                  -----------------------

 

1  : 여러 개의 파일을 하나로 묶고 압축할 있는 tar 실무개론

2 :  tar 파일 묶는 가장 기본적인 사용법

3:  tar 묶여진 파일내의 파일리스트 확인하기

4:  tar 묶여진 파일 풀기

5  tar 파일묶기와 압축하기를 동시에 하기

6:  tar 묶고압축된 파일 풀기

7:  tar 원본파일의 퍼미션을 그대로 유지한채로 묶고압축하기

8:  tar 원본파일 퍼미션을 유지한 채로 묶고압축한 파일 풀기

9:  tar 압축시에 용량단위로 나누어 압축하기 그리고 풀기

 

 

 

 

 

 

 

 

 

 

 

 

 

ㅇ 제작자 : 리눅스포털(www.superuser.co.kr) 수퍼유저코리아 <?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" /><?xml:namespace prefix = st2 ns = "urn:schemas:contacts" />박성수

 

ㅇ 본강좌의 자세한 정보 : http://www.superuser.co.kr/linuxcommandbible/

 

 

 

 

 

 

 

 

 

 

 

1 : 여러 개의 파일을 하나로 묶고 압축할 수 있는 tar 실무개론

 

tar는 여러개의 파일을 하나로 묶는 명령어입니다.  압축명령어라고 잘못알고 계시는 분들이 있는데, tar는 분명 여러개의 파일을 하나로 묶어주는 일종의 유틸리티라고 할 수 있습니다.
하지만, 거의 대부분 tar gzip이나 compress등과 같은 압축유틸리티와 함께 사용을 하는 것이 일반적입니다.

 

또한 tar옵션에는 z라는 옵션이 있기 때문에 tar명령어만으로 압축하고 풀 수 있으며, 또한 tar만으로도 효율적인 파일관리를 할 수 있습니다.

 

상식적인 질문 같지만, 파일을 하나로 묶고 압축하는 이유는 무엇일까요?

 

파일을 전송하고 받아올 때에 전송속도를 높이기 위하여 압축을 하게 됩니다.
그리고 여러개의 파일을 하나로 묶는 것은 전송시에 편리하게 송수신하기 위함입니다.


이외에도 여러가지 이유(배포의 편리성, 파일보관의 편리성등)가 있지만 현재의 인터넷과 통신환경에서는 이런 이유로 파일묶음과 압축을 합니다.

 

명령어위치 : /bin/tar

 

사용형식

파일묶기                       : tar cvf 파일명.tar 파일(디렉토리)
묶은파일보기                   : tar tvf 파일명.tar
묶은파일풀기                   : tar xvf 파일명.tar


묶고압축하기                   : tar cvfz 파일명.tar.gz 파일(디렉토리)
묶고압축된 파일 보기           : tar tvfz 파일명.tar.gz 
묶고압축된파일 풀기            : tar xvfz 파일명.tar.gz


퍼미션유지묶고압축하기         : tar cvfpz 파일명.tar.gz 파일(디렉토리)
퍼미션유지묶고압축된 파일 보기 : tar tvfpz 파일명.tar.gz
퍼미션유지묶고압축된 파일 풀기 : tar xvfpz 파일명.tar.gz
 

tar의 주요옵션설명


-c
: tar파일을 생성할 때(여러개의 파일을 하나의 파일로 묶을 때) 반드시 사용
-d : tar
파일과 해당 파일시스템간의 차이점을 확인 하고자 할 때 사용
-r : tar
파일에 다른파일들을 추가하고자 할 경우에 사용
-t : tar
파일의 내용을 확인하고자 할 때 반드시 사용
-f : tar
파일을 사용할 때에는 반드시 사용
-p : tar
파일을 생성할() 때 원본 파일퍼미션을 그대로 유지함.
-v :
묶을 때나 풀 때 그 과정을 자세하게 보려고 할 때 사용
-Z : compress
로 압축파일을 사용할 때 압축이나 해제까지 한번에 할 때 사용
-z : gzip
과 관련하여 압축이나 해제를 한꺼번에 하려고 할 때 사용

 

이들 옵션들은 하나로만 사용되는 것이 아니라 위의 사용형식에서 보시는 바와같이 용도에 따라서 몇개가 함께 사용됩니다.



 

2 : tar로 파일 묶는 가장 기본적인 사용법

 

다음과 같이 dir1이라는 디렉토리에는 파일이 두개 존재하고 있습니다.  이를 대상으로 tar의 기본사용법을 설명하도록 하겠습니다.

 

[root@host3 command]# ls -l ./dir1
합계 8
-rw-r--r--    1 root     root          120  9
18 14:11 textfile
-rw-r--r--    1 root     root           68  9
18 15:26 textfile2
[root@host3 command]#

 

먼저 위의 디렉토리 dir1에 있는 모든 파일들을 하나의 파일로 묶어보겠습니다.  파일을 압축할 때에는 "cvf"라는 옵션을 사용합니다.

 

[root@host3 command]# tar cvf dir1.tar dir1
dir1/
dir1/textfile
dir1/textfile2
[root@host3 command]#

 

위의 tar예에서

 tar tar명령어이며,
 cvf
는 파일을 하나로 묶기 위한 tar의 옵션이며,
 dir1.tar
는 하나의 파일로 묶여진 후에 생성될 파일명이며(tar의 결과파일),
 dir1
tar의 대상파일(, 묶여질 파일들)입니다.

 

아무런 메시지없이 끝났다면 위의 tar작업이 성공적으로 끝났다는 것을 의미합니다.  아래의 결과를 확인해 보겠습니다.

 

[root@host3 command]# ls -l
합계 16
-rw-r--r--    1 root     root        10240  9
20 12:56 dir1.tar
drwxr-xr-x    2 root     root         4096  9
20 12:55 dir1
[root@host3 command]#

 

dir1.tar이라는 파일이 새로 생성된 것을 확인할 수 있습니다.   dir1.tar파일에는 dir1디렉토리의 모든 내용이 하나의 파일로 생성된 것입니다.

 

 


3 : tar로 묶여진 파일내의 파일리스트 확인하기

 

이번에는 위의 예에서 생성한 dir1.tar파일의 내용을 확인해 보도록 하겠습니다.  tar파일의 내용을 확인할 때에는 "tvf"라는 옵션을 사용합니다.


아래의 예를 보겠습니다.

 

[root@host3 command]# tar tvf dir1.tar
drwxr-xr-x root/root         0 2003-09-20 12:55:03 dir1/
-rw-r--r-- root/root       120 2003-09-18 14:11:35 dir1/textfile
-rw-r--r-- root/root        68 2003-09-18 15:26:39 dir1/textfile2
[root@host3 command]#

 

예상했던 바와같이 dir1.tar에는 dir1에 있던 내용과 동일한 파일들이 들어있음을 알 수 있습니다.

 

 


4 : tar로 묶여진 파일 풀기

 

이번에는 앞의 예에서 tar로 묶은 dir1.tar 파일을 다시 원래대로 풀어보도록 하겠습니다.

이런 작업을 위해서 dir1은 삭제하고 dir1.tar만 남겨두도록 하겠습니다.

 

[root@host3 command]# rm -rf dir1
[root@host3 command]#

 

위에서 원본파일 dir1을 모두 삭제 하였습니다.


이제 아래와 같이 dir1.tar파일만 남아있음을 알 수 있습니다.

 

[root@host3 command]# ls -l          
합계 12
-rw-r--r--    1 root     root        10240  9
20 12:56 dir1.tar
[root@host3 command]#


이제 이 파일(dir1.tar)을 풀어보겠습니다.  tar로 묶여진 파일을 풀때에는 "xvf"라는 옵션을 사용합니다.

 

[root@host3 command]# tar xvf dir1.tar
dir1/
dir1/textfile
dir1/textfile2
[root@host3 command]#

[root@host3 command]# ls -l
합계 16
-rw-r--r--    1 root     root        10240  9
20 12:56 dir1.tar
drwxr-xr-x    2 root     root         4096  9
20 12:55 dir1
[root@host3 command]#
[root@host3 command]# ls -l dir1
합계 8
-rw-r--r--    1 root     root          120  9
18 14:11 textfile
-rw-r--r--    1 root     root           68  9
18 15:26 textfile2
[root@host3 command]#

 

원본파일인 dir1과 동일한 디렉토리와 파일들이 생성되어 있음을 확인할 수 있을 것입니다.

원본파일과 풀려진 파일들의 날짜와 시간을 자세히 비교해 보면 파일의 생성날짜와 시간이 원본파일과 동일함을 알 수 있습니다.


, tar로 묶여질때에는 묶여지는 파일들의 생성날짜와 시간정보까지 함께 저장이 되어지며, tar로 풀 때에는 이 시간정보를 그대로 적용하여 풀어 진다는 것을 알 수 있습니다.

 

 

 

5 : tar로 파일묶기와 압축하기를 동시에 하기

 

이번에는 파일을 묶는 작업과 압축을 하는 작업을 동시에 해보도록 하겠습니다. 이 작업을 하려면 z라는 옵션을 추가해서 "cvfz"라는 옵션을 사용하면 간단하게 묶음과 압축을 동시에 할 수 있습니다.

 

설명의 편의를 위하여 dir2라는 디렉토리를 작업대상으로 하며 dir2에는 다음과 같은 파일 2개가 들어있습니다.

 

[root@host3 command]# ls -al dir2
합계 16
drwxr-xr-x    2 root     root         4096  9
20 13:42 .
drwxr-xr-x    3 root     root         4096  9
20 13:41 ..
-rw-r--r--    1 root     root          120  9
18 14:11 textfile1
-rw-r--r--    1 root     root           68  9
18 15:26 textfile3
[root@host3 command]#

 

, 그렇다면 묶음과 압축을 동시에 해보도록 하겠습니다.

 

[root@host3 command]# tar cvfz dir2.tar.gz dir2
dir2/
dir2/textfile1
dir2/textfile3
[root@host3 command]#
[root@host3 command]# ls -l
합계 8
drwxr-xr-x    2 root     root         4096  9
20 13:42 dir2
-rw-r--r--    1 root     root          284  9
20 13:43 dir2.tar.gz
[root@host3 command]#

 

cvfz라는 옵션을 사용하고 새로 생성되는 파일명을 dir2.tar.gz로 하였습니다.  묶음과 압축의 결과로 dir2.tar.gz파일이 생성되었음을 알 수가 있습니다.


간단한 명령이므로 어렵지 않으리라 생각합니다.  그리고 이렇게 묶음과 압축이 한번에 된 파일의 내용을 확인하고자 한다면 다음과 같이  "tvfz"옵션을 사용합니다.

 

[root@host3 command]# tar tvfz dir2.tar.gz
drwxr-xr-x root/root         0 2003-09-20 13:42:08 dir2/
-rw-r--r-- root/root       120 2003-09-18 14:11:35 dir2/textfile1
-rw-r--r-- root/root        68 2003-09-18 15:26:39 dir2/textfile3
[root@host3 command]#

 

그럼 다음 예에서 이렇게 묶는 작업과 압축하는 작업을 동시에 한 dir2.tar.gz파일을 압축해제와 묶음해제를 동시에 수행하는 방법에 대해서 알아보겠습니다.

 

 

 

 

ㅇ 제작자 : 리눅스포털(www.superuser.co.kr) 수퍼유저코리아 박성수

 

ㅇ 본강좌의 자세한 정보 : http://www.superuser.co.kr/linuxcommandbible/

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,043 명
  • 현재 강좌수 :  35,853 개
  • 현재 접속자 :  86 명