파일 묶기와 압축

과거에는 파일의 이동시에 분할 압축을 했다. 그땐 3.5 인치 2HD 디스크를 들고 다녔는데 용량이  1mb 를 조금 넘었기 때문이다. 그 때문에 7mb짜리 게임을 RAR이나 JAR 프로그램으로 1.44mb으로 분할 압축하여 여러장의 디스크에 나눠저장하던 시절이 생각난다.. 더 과거에는 5.25인치 디스크를 사용하여 dos 를 부팅했었다. 게임도 했었고..

하지만 요즘 생활에서는 압축의 중요성이 그때보다는 덜 중요해졌지만. 아직 여러모로 중요하다.
용량은 백업장치의 추가를 의미하게 되므로 뭔가 저장 매체가 있어야 하기 때문이다. 

유닉스 개열에서는 TAR라는 명령어로 파일을 묶거나 압축하게 된다. (TAR는 Tape ARchive 를 줄인 말이다.)

일단 파일을 묶는 방법을 먼저 알아보고, 압축하는 방법을 알아 보겠다. 그리고 tar명령어를 이용하여 묶기와 압축 그리고 압축 해제에 대하여 알아보자.

TAR

 

 study 의 디렉토리에 a.txt.와 b.txt가 있다 이 파일을 tar 명령어로 tar1.tar으로 묶는 것을 볼 수 있다.
 
cvf의 옵션은  다음과 같다.
-c, --create
              create a new archive
 -v, --verbose
              verbosely list files processed
-f, --file [HOSTNAME:]F
              use archive file or device F (default /dev/rmt0)
(더 많은 옵션은 메뉴얼은 man tar 에서 확인 할 수 있다.)

간단히 설명하자면 새로운 아카이프 파일을 생성하는데 묶여지는 파일들을 표시하는 것이다.
아무튼 저렇게 명령어를 입력하면 현재 디렉토리의 모든 파일을 tar1.tar로 생성하게 된다.
하지만 아직 압축이 되지 않았다.


파일 묶기와 파일 압축


위의 두 이미지를 보자. 
일단 첫번째 이미지는 옵션에 z가 포함되어 있고 두번째 이미지는 j가 포함되어 있다.
첫번째는 gzip 으로 압축을 했고 두번째는 bzip2으로 압축을 했다.
이 둘의 차이는 압축시에 어떤 방식의 압축을 이용하느냐의 차이가 있는데 압축에는 bzip2와 gzip으로 나눌 수 있다. 
일반적으로 bzip2가 gzip보다 60~70%으로 높은 압축률을 보이는 것으로 알려져있다. (절대적인것은 아니다.)
하지만 압축 명령어만으로는 다중파일의 압축을 할 수가 없다. 그래서 tar 명령어를 이용하여 다중파일을 압축하게 된다.

★★★★★★★
여기서 옵션을 넣을때 '-' 을 사용하지 않았다 -을 사용하게 되면 아래와 같은 에러가 발생되었다.

일단 tar을 이용하여 압축을 할 때에는 옵션에 - 빼고 하는게 정신건강에 이롭다.
테스트 환경은 REHL4이다. 



압축해제
압축해제는 파일을 어떤 방법으로 압축했느냐에 따라 달라지게 된다.
gzip으로 압축이 되어있다면 옵션을 xvfz를 줘야 하고 bzip2으로 압축된 파일이면 zvfj으로 압축을 해제해야 한다.



파일풀기
압축이 아닌 그냥 tar으로 파일이 묶인 거라면 아래의 옵션으로 해당 파일의 묶음을 해제할 수 있다.
tar xvf 파일명








 





 

'Linux & Unix' 카테고리의 다른 글

ssh, scp  (0) 2011.11.30
디스크 추가. 파티션, 포멧, 마운트, 언마운트  (0) 2011.11.30
VI Editor 7.0.237  (2) 2011.11.26
파일 및 디렉터리 관리  (0) 2011.09.06
그룹 관리  (0) 2011.09.06