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

압축유틸 파워강좌tar 2편

작성자 정보

  • 웹관리자 작성
  • 작성일

컨텐츠 정보

본문

압축유틸 파워강좌tar 2<?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/

 

 

 

 

 

 

 

 

 

 

 

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

 

위의 예에서 묶음과 압축을 동시에 했던 tar로 압축저장된 파일을 풀어보도록 하겠습니다.
묶음과 압축이 동시에 된 파일을 한번에 풀 때에는 z옵션을 추가해서 "xvfz"옵션을 사용하면됩니다.

 

아래와 같이 dir2라는 원본파일을 모두 삭제합니다.

[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]#
[root@host3 command]# rm -rf dir2
[root@host3 command]#


원본파일이 삭제된 것을 확인하고 압축된 dir2.tar.gz파일만이 남아있습니다.

 

[root@host3 command]# ls -l
합계 4
-rw-r--r--    1 root     root          284  9
20 13:43 dir2.tar.gz
[root@host3 command]#

 

여기서 아래와 같이 이 파일을 푸는 작업을 합니다.

 

[root@host3 command]# tar xvfz dir2.tar.gz
dir2/
dir2/textfile1
dir2/textfile3
[root@host3 command]#


압축이 잘 풀렸으므로 이를 확인합니다.  dir2.tar.gz를 푼 결과 dir2라는 디렉토리와 그 안에 있던 파일들이 새로 생성이 되었습니다.


아래는 그 결과를 확인한 것입니다.

[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]#
[root@host3 command]# ls -l dir2
합계 8
-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]#

 

 

 

 

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

 

이번에는 원본파일의 퍼미션을 원상태로 유지하면서 묶음과 압축을 동시에 수행하는 방법을 알아보겠습니다.  이렇게 원본파일의 퍼미션을 그대로 유지하면서 묶음과 압축을 동시에 하려면 p옵션을 추가하여 "cvfpz"라는 옵션을 사용합니다.



아래와 같이 dir2라는 디렉토리와 그안에는 파일이 들어있습니다.


여기서 주의깊게 보셔야하는 것은 dir2라는 디렉토리와 textfile1, textfile3이라는 파일의 소유주와 소유그룹, 그리고 퍼미션들입니다.

이들 소유자와 소유그룹, 그리고 퍼미션들을 그대로 유지하면서 묶음과 압축을 하려고 합니다.

 

[root@host3 command]# ls -l
합계 4
drwx------    2 bible    bible        4096  9
20 13:42 dir2
[root@host3 command]#
[root@host3 command]# ls -l dir2
합계 8
-rwx-----x    1 bible1   bible2        120  9
18 14:11 textfile1
-rwx-----x    1 bible1   bible2         68  9
18 15:26 textfile3
[root@host3 command]# 


다음은 dir2의 전체를 묶음과 압축을 하면서 원본파일의 소유자와 소유그룹, 그리고 퍼미션을 유지하면서 압축을 한 것입니다.  

 

[root@host3 command]# tar cvfpz dir2.tar.gz dir2
dir2/
dir2/textfile1
dir2/textfile3
[root@host3 command]#

 

아래는 생성된 dir2.tar.gz를 확인한 것입니다.

 

[root@host3 command]# ls -l
합계 8
drwx------    2 bible    bible        4096  9
20 13:42 dir2
-rw-r--r--    1 root     root          300  9
20 13:57 dir2.tar.gz
[root@host3 command]#


다음은 작업결과 생성된 dir2.tar.gz파일을 "tvfpz"옵션으로 확인한 것입니다.

 

[root@host3 command]# tar tvfpz dir2.tar.gz
drwx------ bible/bible       0 2003-09-20 13:42:08 dir2/
-rwx-----x bible1/bible2   120 2003-09-18 14:11:35 dir2/textfile1
-rwx-----x bible1/bible2    68 2003-09-18 15:26:39 dir2/textfile3
[root@host3 command]#

 

확인한 결과 p옵션을 사용하면 원본파일의 소유주와 소유그룹, 그리고 퍼미션들이 모두 그대로 압축된다는 것을 알 수 있습니다.



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

 

이번에는 p옵션과 함께 묶음과 압축이 된 파일을 풀 때에도 역시 p옵션을 추가하여 "xvfpz"옵션을 사용합니다.  위에서 압축된 파일 dir2.tar.gz를 풀기 위하여 원본 디렉토리 dir2를 삭제 하였습니다.

 

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


그리고 다음과 같이 dir2.tar.gz "xvfpz"옵션으로 풀어준 것입니다.

 

[root@host3 command]# tar xvfpz dir2.tar.gz
dir2/
dir2/textfile1
dir2/textfile3
[root@host3 command]#


풀어진 결과를 확인한 것입니다.  앞서도 말씀드렸지만 여기서 주의깊게 보아야하는 것은 압축하기전 파일의 소유자와 소유그룹, 그리고 퍼미션입니다.

 

[root@host3 command]# ls -l
합계 8
drwx------    2 bible    bible        4096  9
20 13:42 dir2
-rw-r--r--    1 root     root          300  9
20 13:57 dir2.tar.gz
[root@host3 command]#


dir2.tar.gz
파일이 풀어진 결과 dir2라는 디렉토리가 생성이 되고 그 안에는 원래 있던 두개의 파일이 생성이 되었습니다.

 

[root@host3 command]# ls -l dir2
합계 8
-rwx-----x    1 bible1   bible2        120  9
18 14:11 textfile1
-rwx-----x    1 bible1   bible2         68  9
18 15:26 textfile3
[root@host3 command]#

 

이렇게 생성이 된 파일의 소유주와 소유그룹, 그리고 퍼미션을 확인해 보겠습니다.

원래 있던 dir2의 퍼미션이 700이였으며 풀어진 dir2의 퍼미션도 700이며, 소유자가 bible, 소유그룹이 bible로 원본과 동일합니다.

그리고 두개의 파일에 대한 퍼미션 701도 원본파일과 동일하며 소유자와 소유그룹이 각각 bible1 bible2로 원본파일과 동일합니다.

이렇게 p 옵션을 사용하면 파일의 원상태를 그대로 압축할 수 있다는 점이 매우 큰 장점입니다.

서버관리자가 서버작업중 파일의 이전을 하면서 파일의 퍼미션문제로 많은 어려움을 겪게 되는데 tar p옵션을 사용하면 원본과 동일하게 압축하여 이전할 수 있기 때문에 이 문제를 쉽게 해결할 수 있습니다.

 

 

 

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

 

tar로 압축을 하다보면 용량이 너무 커져서 파일다루기가 곤란한 경우가 흔히 있습니다. 이런 경우에 일정한 용량단위로 나누어서 압축을 한다면 매우 편리할 것입니다.

 

, 예를들어 /home디렉토리의 용량은 tar로 압축한다고 할 때에 그 용량을 100MB또는 1GB단위의 여러개의 파일로 나누어서 압축한다면 매우 편리하게 파일을 다룰 수 있습니다.

 

아래의 예는 tar명령어로 /home/papa라는 디렉토리를 100MB단위로 나누어서 압축한 것입니다.

 

[root@file backup]# tar cvfpz - /home/papa | split -b 100m - home.tar.gz

tar: Removing leading `/' from member names

home/papa/

home/papa/.bash_logout

home/papa/.bash_profile

home/papa/.bashrc

home/papa/.emacs

home/papa/.gtkrc

home/papa/.ncftp/

home/papa/.ncftp/init_v3

home/papa/.ncftp/firewall

home/papa/.ncftp/trace.2595

home/papa/.ncftp/prefs_v3

home/papa/.ncftp/log

home/papa/.ncftp/history

home/papa/.ncftp/trace

home/papa/www/

home/papa/www/domain.tar.gz

home/papa/www/index.html

home/papa/www/domain/

home/papa/www/domain/class/

home/papa/www/domain/class/domain_class.php

home/papa/www/domain/class/inc_class.php

home/papa/www/domain/class/layout_class.php
.....

.....

 

그리고 위와 같이 압축된 결과로 생성되는 파일들은 아래 보시는 바와 같이 파일의 끝에 aa, ab,..등과 같은 알파벳이 추가됩니다.

 

[root@file backup]# ls -l

total 551532

-rw-r--r--    1 root     root     104857600  329 04:54 home.tar.gzaa

-rw-r--r--    1 root     root     104857600  3 29 04:55 home.tar.gzab

-rw-r--r--    1 root     root     104857600  3 29 04:57 home.tar.gzac

-rw-r--r--    1 root     root     104857600  3 29 04:58 home.tar.gzad

-rw-r--r--    1 root     root     104857600  3 29 05:00 home.tar.gzae

-rw-r--r--    1 root     root     39903232   3 29 05:01 home.tar.gzaf

[root@file backup]#

 

 

위와 같이 용량단위로 나누어서 압축된 파일을 압축해제할 때에는 다음과 같이 하시면 됩니다.

 

관련자료

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

공지사항


뉴스광장


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