=리눅스 기준=
<< 압축하기 >>
* tar 와 gzip 따로 하기
# tar cvf file_name.tar *.c
# gzip file_name.tar
* tar 와 gzip 동시에
# tar cfp - target_dir | gzip -c > made_file.tar.gz
// target_dir = 압축할 파일들이 들어 있는 디렉토리
// made_file = 만들어질 압축파일의 이름.
<< 압축풀기 >>
* tar 와 gzip 따로 하기
# gzip -d file_name.tar.gz
# tar -xvf file_name.tar
* tar 와 gzip 동시에
# gzip -dc source_file.tar.gz | tar xvfp
-----여기까지 긁어왔습니다.
출처:블로그 > 동내스리가의 진공청소기
======================================================================
압축을 했으면 파일이 하나 생겼을 겁니다. 만약 안생겼거나 다른이름으로 압축파일이 생성되었다면 압축이 실패한 것이구요.
원래 있던 파일에 대해서는 변화가 없을 텐데 smong.c, hell.c는 무슨 말인지 잘 모르겠네요. 혹시 *.c 를 썻다는 말인지. 그렇다고 하더라도 하나의 파일이 더생겼다뿐 원래있던 파일이 변화하지는 않습니다. 압축 파일을 만드는 것이지 파일하나하나를 압축상태로 만드는게 아니죠.
만약 저 명령어로 에라가난다면 압축이 잘못된 것 같으니 밑에 걸 참고해서 다시 해보시길 바랍니다.
[[[[쉽게정리]]]]처음부터 다시 해보시지요...제가 gzip으로 하는 명령은 tar에서 같이 쓰다보니 정확히 잘 몰라서 위에거 긁어 왔구요. 여기부턴 제가 압축하는 예입니다.
님이 할려는 작업을 보니 yy(가상)안에 xxxx.c 이름의 파일을 모조로 압축하려는 것인가 보네요.
일단 디렉토리안에서 tar cvf c.tar *.c 로하면 tar 압축이되고 tar zcvf c.tgz *.c로 하면 두번압축해서 tar,gzip압축이 됩니다.
잘 생각이 안나는데 만약 이 명령어로 안된다면 yy디렉토리로 이동후
tar cvf c.tar ./yy/*.c 이렇게 하면 확실히 되리라 생각합니다.
만약 디렉토리전체를 압축하려면 일단 디렉토리보다 상위 디렉토리로 이동한후 압축해야 합니다. 만들어지고 있는 압축파일을 다시 압축하려고 하다 에라가 나기때문이죠.
만약 /etc/file 에서 file 디렉토리안에 파일을 압축하려면 먼저 etc 디렉토리로 간 다음
etc]#tar cvf file.tar ./file 하면 될 것 같네요.
혹은 절대경로로 tar cvf file.tar /etc/file 이 경우 etc/file디렉토리안에서만 아니면 어디에서든 사용할수 있겠지요.
풀때는 tar xvf file.tar 하면 될 것 같네요.
여기서 c는 압축옵션이고 x는 풀기옵션입니다.
(출처 : '리눅스 압축풀기' - 네이버 지식iN)
=유닉스 기준=
tar 명령어를 써보세요.
tar czfp 만들어질파일명.tgz 대상폴더(nsr)
ex. tar czfp nsr.tgz nsr
이 명령어는 해당폴더 (nsr)안에서 하시면 안되구, 그 상위에서 하시면 됩니다.
명령을 실행시면, 퍼미션까지 그대로 압축에 포함이 됩니다.
이 파일을 백업하셨다가 나중에 다시 설치하실려면,
파일을 서버로 옮기시고,
tar xzfp 파일명.tgz
로 압축을 푸시면 됩니다.