2008. 2. 21. 21:02
확장자가  `.tar.gz', `.tar.z', `.tgz'  인 파일들은

tar -xvzf name.tar.gz
tar xvzf name.tgz

위와 같이 xvzf 옵션으로 풀린다.
하지만 이게 왠일


bash-2.03$ ls
dat.log  local.cshrc  local.login  local.profile  snort.tar.gz
bash-2.03$ tar xvzf snort.tar.gz
tar: z: unknown option
Usage: tar {txruc}[vfbFXhiBDEelmopwnq[0-7]] [-k size] [tapefile] [blocksize] [exclude-file] [-I include-file] files ...

z를 모른다네..

tar의 z옵션이 gzip압축된 tar파일을 풀어줄 수있게 하는 옵션인 것은 아실것입니다.
문제는 솔라리스(2.5이상 10이하)에 있는 tar는 이 z옵션이 없습니다.
그래서 tar -xvzf를 사용할 수 없죠.

대신 사용할 수 있는 방법이

#gunzip a.tar.gz
#tar xvf a.tar
- by
세이군
라고 한다.

"gunzip < a.tar.gz | tar xvf -"  는

gunzip < a.tar.gz 
a.tar.gz 파일을 gunzip 에 stdin 으로 집어 넣습니다.

그럼 gunzip 은 풀어서 stdout 으로 보내겠죠 ( 현재까지는 gzip만 풀린상태 ) 그것을 파이프로 받아
그리고 tar xvf - 에서 '-' 는 stdin 으로 받으라는 말입니다.

< 나머지 옵션들 >
-c 디렉토리를 포함하여 여러개의 파일들을 묶을 때 사용한다(Create).
-x 디렉토리를 포함하여 묶인 파일의 압축을 풀겠다는 것을 tar에게 알린다(eXtract). 
-v 작업 진행 상황을 화면에 표시한다(Verbose)
-t tar 파일안에 있는 파일이나 디렉토리 목록을 볼 때 사용하는 옵션이다(lisT). 

-f <파일명>
파일을 묶을 때는 출력 파일, 파일의 압축을 풀때는 입력 파일을 이 옵션 뒤에 써 준다(File).
<파일명>에는 /dev 디렉토리 밑의 장치명이 올 수도 있다. 이 때는 그 장치명에 해당하는 장치를
출력으로 하거나 입력으로 한다.
Posted by newpolaris