/etc/디렉토리의 각각의 파일들이 추가된다. 위와 같이 묶인 파일들을 올바른 장소로 풀기
위해서는 아래의 명령어를 사용해야 한다.
# cd /
#tar xvf backup.tar
왜냐하면, 묶어 놓은 파일에 저장되어 있는 경로도 풀어야 하기 때문이다.
만일, 아래의 명령으로 묶는다면,
# cd /etc
# tar cvf hosts group passwd
디렉토리 이름 `/etc'는 tar 파일에 저장이 되지 않을 것이다. 그러므로, 이 파일을 풀기 전에
"cd /etc"를 먼저 입력하여야 한다. 이 방식으로 tar파일을 만드는 것은, 파일을 어디로 풀어
야 하는지에 대한 큰 차이를 갖게 된다.
# tar tvf backup.tar
이것은 파일을 풀기 전에 tar파일의 "index"를 출력한다. 이러한 방법은 tar 파일 안에 어떤
디렉토리의 파일들이 상대적으로 어떻게 저장이 되어있는지 볼 수 있으며, 따라서 올바른
장소로 풀 수 있다.
gzip과 compress
MS-DOS의 프로그램과는 달리, tar는 파일을 묶을 때, 자동적으로 압축하지는 않는다. 그러므로, 만일 2개의 1MB의 파일을 묶으려 한다면, tar파일의 크기는 2MB일 것이다. 명령어 `gzip' 은 파일을 압축하는데 사용된다(압축하기 위해서 tar 파일은 필요치 않다.).
# gzip -9 backup.tar
위의 명령은 backup.tar 파일을 압축하고, 이 파일의 압축 버전인 backup.tar.gz 파일을 만들 것이다. -9는 최상의 압축율로 압
축하는 옵션이다. 명령어 `gunzip'은 `gzip' 명령으로 압축된 파일을 풀기 위해 사용된다. 명령은 `gzip -d' 이다.
`gzip'은 유닉스의 새로운 도구이며, 지난 수년 동안 `compress' 명령을 대신하여 사용되어 왔다. `compress'의 알고리즘에 대
한 소프트웨어 특허권 문제와 `gzip'의 효율이 `compress' 보다 좋다는 점 등의 이유로 `compress'는 물러나야 했지만 여전히
필요할 것이다.
compressed 파일의 끝에 확장자 .Z 가 붙는다. 예를 들면, backup.tar의 compress된 버전이 backup.tar.Z이며, backup.tar.gz
는 gzip 버전이다.(때로는, 소문자 z가 gzipped 파일이다.) 명령어 `uncompress'는 compress 된 파일을 풀기 위해 사용한다.
또한, gunzip은 compressed 파일을 취급하는 방법을 알고 있기 때문에 .Z 파일도 gzip을 이용하여 압출을 풀 수 있다.
gzip과 tar의 혼합 사용
일반적으로 파일들을 하나로 묶은후, 그것을 압축시켜 백업해 놓는 경우가 많을 것이다.
# tar cvf backup.tar /etc
# gzip -9 backup.tar
따라서, 결과는 backup.tar.gz 이 생길 것이다.
파일을 풀기 위해서는 그 반대의 명령을 아래의 순서대로 사용한다.
# gunzip backup.tar.gz
# tar xvf backup.tar
물론, tar파일을 풀기 전에는 언제나 올바른 디렉토리에서 확인해야 할 것이다.
여기서, 파이프와 리디렉션을 사용하여 위의 명령을 한 라인으로 처리할 수 있다.
# tar cvf - /etc | gzip -9c > backup.tar.gz
이 명령은 먼저, tar 파일을 tar의 표준 출력("-"로 표시)으로 보낸다. 이것은 gzip과 파이프되어 들어오는 tar 파일을 압축하며,
그 결과를 backup.tar.gz로 리디렉트 시킴으로서 파일로 저장된다.
gzip의 -c 옵션은 출력을 backup.tar.gz로 리디렉트하기 위해 표준 출력으로 보내라는 명령이다.
그럼, 한 라인의 명령으로 이 파일을 풀어보자.
# gunzip -c backup.tar.gz | tar cvf -
다시, gunzip은 backup.tar.gz의 내용을 풀고, 그 결과를 표준 출력으로 tar 파일에 보낸다. 이것은 tar를 파이프한 것이고, "-"는
tar의 표준 출력을 말한다.
리눅스로 이식된 tar 버젼은 -z 옵션이 있어, 압축과 해제를 자동적으로 시킬 수 있다.
# tar cvfz backup.tar.Z /etc
이것은 아래와 두 명령과 같다.
# tar cvf backup.tar /etc
# compress backup.tar
또한, 압축을 해제할때는 아래와 같으며,
# tar xvfz backup.tar.Z
이것은 아래와 두 명령과 같은 것이다.
# uncompress backup.tar.Z
# tar xvf backup.tar
# 파일이 8G 넘어갈때 압축
# tar cvfE /dev/rmt/0 CS001M00_200901.dmp.gz CS001M00_200902.dmp.g