압축유틸 파워강좌tar 2편
작성자 정보
- 웹관리자 작성
- 작성일
컨텐츠 정보
- 8,856 조회
- 0 추천
- 목록
본문
압축유틸 파워강좌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 |
원본파일이 삭제된 것을 확인하고 압축된 dir2.tar.gz파일만이 남아있습니다.
[root@host3 command]# ls -l |
여기서 아래와 같이 이 파일을 푸는 작업을 합니다.
[root@host3 command]# tar xvfz dir2.tar.gz |
압축이 잘 풀렸으므로 이를 확인합니다. dir2.tar.gz를 푼 결과 dir2라는 디렉토리와 그 안에 있던 파일들이 새로 생성이 되었습니다.
아래는 그 결과를 확인한 것입니다.
[root@host3 command]# ls -l |
7 : tar로 원본파일의 퍼미션을 그대로 유지한채로 묶고압축하기
이번에는 원본파일의 퍼미션을 원상태로 유지하면서 묶음과 압축을 동시에 수행하는 방법을 알아보겠습니다. 이렇게 원본파일의 퍼미션을 그대로 유지하면서 묶음과 압축을 동시에 하려면 p옵션을 추가하여 "cvfpz"라는 옵션을 사용합니다.
아래와 같이 dir2라는 디렉토리와 그안에는 파일이 들어있습니다.
여기서 주의깊게 보셔야하는 것은 dir2라는 디렉토리와 textfile1, textfile3이라는 파일의 소유주와 소유그룹, 그리고 퍼미션들입니다.
이들 소유자와 소유그룹, 그리고 퍼미션들을 그대로 유지하면서 묶음과 압축을 하려고 합니다.
[root@host3 command]# ls -l |
다음은 dir2의 전체를 묶음과 압축을 하면서 원본파일의 소유자와 소유그룹, 그리고 퍼미션을 유지하면서 압축을 한 것입니다.
[root@host3 command]# tar cvfpz dir2.tar.gz dir2 |
아래는 생성된 dir2.tar.gz를 확인한 것입니다.
[root@host3 command]# ls -l |
다음은 작업결과 생성된 dir2.tar.gz파일을 "tvfpz"옵션으로 확인한 것입니다.
[root@host3 command]# tar tvfpz dir2.tar.gz |
확인한 결과 p옵션을 사용하면 원본파일의 소유주와 소유그룹, 그리고 퍼미션들이 모두 그대로 압축된다는 것을 알 수 있습니다.
8 : tar로 원본파일 퍼미션을 유지한 채로 묶고압축한 파일 풀기
이번에는 p옵션과 함께 묶음과 압축이 된 파일을 풀 때에도 역시 p옵션을 추가하여 "xvfpz"옵션을 사용합니다. 위에서 압축된 파일 dir2.tar.gz를 풀기 위하여 원본 디렉토리 dir2를 삭제 하였습니다.
[root@host3 command]# rm -rf dir2 |
그리고 다음과 같이 dir2.tar.gz를 "xvfpz"옵션으로 풀어준 것입니다.
[root@host3 command]# tar xvfpz dir2.tar.gz |
풀어진 결과를 확인한 것입니다. 앞서도 말씀드렸지만 여기서 주의깊게 보아야하는 것은 압축하기전 파일의 소유자와 소유그룹, 그리고 퍼미션입니다.
[root@host3 command]# ls -l |
dir2.tar.gz파일이 풀어진 결과 dir2라는 디렉토리가 생성이 되고 그 안에는 원래 있던 두개의 파일이 생성이 되었습니다.
[root@host3 command]# ls -l dir2 |
이렇게 생성이 된 파일의 소유주와 소유그룹, 그리고 퍼미션을 확인해 보겠습니다.
원래 있던 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 3월 29 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]# |
위와 같이 용량단위로 나누어서 압축된 파일을 압축해제할 때에는 다음과 같이 하시면 됩니다.
|
관련자료
-
이전
-
다음