카테고리 없음

리눅스/압축 명령어(tar, zip)

우진샘 2010. 8. 31. 09:54
## 리눅스 압축 명령어

* tar

tar은 은밀히 말하면 압축방식이 아니다. 일종의 묶음 파일로 이해하는 것이 좋을듯 하다.
이 tar과 gzip을 같이 사용하는 경우 tar.gz (또는 tgz)라는 확장자를 사용하게 된다.
tar이 비록 묶음 파일이라 하더라도 여기서는 압축파일의 하나로 이해하고 이를 묶고 푸는
방법에 대해 알아보도록 한다.


- 압축 생성
  # tar cvf temp.tar temp/
    ; temp 디렉터리를 temp.tar 이라는 파일로 묶는다.

     (temp 디렉터리와 그 이하의 모든 파일 및 디렉터리)



- 압축 해제
  # tar xvf temp.tar



※ 옵션설명
  -c : (create) 압축 파일을 생성한다.
  -x : (extract) 압축 파일을 해제한다.
  -v : 압축파일이 생성(해제)되는 과정을 보여준다.
  -f : 압축파일 또는 Archive 장치를 사용한다.
  -t : 압축파일 내용 확인
  -r : 압축파일 추가
  -z : gzip으로 압축/해제
  -j : bzip2으로 압축/해제

※ tar 명령에서 옵션 앞에 붙는 "-" 기호는 붙여도 되고, 붙이지 않아도 된다.

※ gzip과 같이 압축된 파일의 경우 (tar.gz 또는 tgz) -z 옵션을 사용하여 한번에
   처리할 수 있다.




* gzip (tar.gz 또는 tgz)

앞서 보았던 tar로 묶여진 파일을 다시 압축하는 방법으로 많이 사용되는 압축형태이다.
gzip 명령으로 압축하고 gunzip 명령으로 압축을 해제한다.


- 압축 생성
 
  # gzip temp.tar
 
  위 명령을 사용하면 temp.tar.gz 이라는 파일이 생성된다.



- 압축 해제

  # gunzip temp.tar.gz
 
 
  # gzip -d temp.tar.gz




※ gzip 명령으로 압축을 해제하면, 그 전단계인 tar 묶음 형태로 압축이 풀리게 되므로
   tar 명령으로 다시한번 묶음을 해제해야 한다. 최근에는 이러한 번거로운 과정을
   줄이기 위해 tar 명령에서 tar 묶음 및 gzip 압축까지 모두 해제할 수 있는 옵션(-z)을
   제공한다.
 
  # tar xzvf temp.tar.gz




* bzip2 (bz2)

gzip과 같이 최근 많이 사용되는 압축 형태로 tar.bz2 라는 확장자로 다루어진다.
역시 tar 묶음에 다시 압축을 가하는 형태이며, bzip2 전용 명령도 있으며,
tar에서도 한번에 사용할 수 있는 옵션(-j)이 있다.

- 압축 생성
  # bzip2 -zkv temp.tar

- 압축 해제
  # bunzip2 temp.tar.bz2

※ bzip2 명령으로 압축을 해제하면, tar 명령을 다시 사용해야 하므로, 최근에는 tar에서
   바로 해제하는 경우가 많다.
 
  # tar xjvf temp.tar.bz2

* zip

zip 파일은 Windows에서도 많이 사용되는 압축 형태로, 리눅스에서도 동일하게 사용할 수 있다.

- 압축 생성
 
  # zip -v temp.zip temp/*
  
    ; temp 디렉터리 이하의 모든 파일을 zip으로 압축한다.

- 압축 해제
 
  # unzip temp.zip

* compress

확장자 .Z 형태의 압축파일 생성

# compress    [파일명]     : 압축시

# uncompress  [파일명]    : 해제시 

* zcat 명령어

zcat -DVv [file...]

zcat 명령은 compress 명령 또는 mkszip 명령으로 압축된 data file을 input으로 취한다.
만약 data file이 command line에 적혀 있지 않는다면 standard input을 읽게 된다.
또한 standard input을 어떤 파일로 적으므로써 zcat에 보낼수 있다.

zcat은 모든 압축된 입력 파일의 압축을 풀어서, standard out에 적는다.
zcat은 cat이 하는 것과 동일한 concatenates을 한다.

압축된 inputfile의 이름은 .z, .gz, bz2로 끝날것을 예상한다.
특정 파일이름이 이런 첨자로 끝나지 않는다면, zcat은 file.z, file.gz, file.bz2로 끝나는
파일을 찾는다. 예를 들어 command line에 abc라는 파일이 적혀있다면,
zcat은 abc.z, abc.gz, abc.bz2를 찾는다. 만약에 이들 중 어느 것도 찾지 못한다면,
zcat은 abc를 확장자 없이 취급한다.

zcat은 다음과 똑같다.

uncompress -c

옵션

-D : compress나 mkszip의 directory option을 사용해서 압축된 파일을 압축해제하라.

-V : zcat의 version을 화면에 나타내라.

-v : 압축된 파일의 각각의 이름을 화면에 나타내라.