본문 바로가기

Story/Server

tar로 압축하기

반응형

압축
tar cvf filename.tar target_dir_or_blah_blah/

압축해재
tar xvf filename.tar

tar는 압축을 하는게 아닙니다. 단지 파일 하나로 묶어줄 뿐이죵… tar최신버전은 다음과 같이 하면 finame.tgz로 tar로 묶은 다음 압축까정 해줍니다.

tar czvf filename.tgz source

안타깝게도 GNU기반의 OS들(Linux나 FreeBSD같은)이 아니라면 tar는 z옵션을 제공하지 않습니다. gzip을 이용한 압축옵션이 제공되는 것은 GNU tar입니다. 그러므로 GNU tar없이 압축을 하시려면

tar cvf - 압축할파일이나디렉토리의리스트 | gzip -c > 압축파일이름

ex) tar cvf - *.txt | gzip -c > text.tar.gz

근데 gzip도 없는 열악한 상황이라면, compress를 이용하여…

tar cvf text.tar *.txt; compress text.tar

할 수 밖에 없겠죠.




파일묶기
파일묶기 tar cvf 파일명.tar 파일(디렉토리)
묶은파일보기 tar tvf 파일명.tar 파일(디렉토리)
묶은파일풀기 tar xvf 파일명.tar 파일(디렉토리)

gzip(gunzip) 사용해서 압축
묶고압축 tar cvfz 파일명.tar.gz 파일(디렉토리)
묶고압축된 파일 보기 tar tvfz 파일명.tar.gz 파일(디렉토리)
묶고압축된파일 풀기 tar xvfz 파일명.tar.gz 파일(디렉토리)

gzip(gunzip) 사용 및 퍼미션유지해서 압축
묶고압축 tar cvfpz 파일명.tar.gz 파일(디렉토리) -> 가장좋음

묶고압축된 파일 보기 tar tvfpz 파일명.tar.gz 파일(디렉토리)
묶고압축된파일 풀기 tar xvfpz 파일명.tar.gz 파일(디렉토리) -> 가장좋음

bzip2(bunzip2) 사용해 압축
퍼미션유지해서 압축
묶고압축 tar cvfpj 파일명.tar.bz2 파일(디렉토리)
묶고압축된 파일 보기 tar tvfpj 파일명.tar.bz2 파일(디렉토리)
묶고압축된파일 풀기 tar xvfpj 파일명.tar.bz2 파일(디렉토리)

tar옵션
-c : tar파일 생성할 때 사용 (기본사용) -> 풀때는 -x 옵션 사용
-t : tar파일의 내용을 확인할 때 사용
-f : tar파일을 사용할 때 사용 (기본사용)
-p : tar파일을 생성or풀때 원본 파일속성(퍼미션) 유지
-v : 묶거나 풀 때 과정 보기 (거의기본사용)
-z : gzip(gunzip) 사용 옵션
-j : bzip(bunzip2) 사용 옵션

출처 : http://kaicnet.net/119


TAR 특정 파일, 디렉토리 제외하기

tar cvfz filename.tgz --exclude=file2 --exclude=dir2



tar로 묶어 줄 경우에 특정 경로를 제외하고 묶으려면 -X 옵션을 사용 한다.
먼저 제외 할 경로를 임의의 파일에 아래와 같이 저장한다.

/home/www/a
/home/www/b

위 내용을 앞 뒤 공백 없이 파일에 저장하고,
아래와 같이 tar를 실행 한다.
ex라는 파일명으로 저장 하였다면 아래와 같이 실행 한다.

tar cvzfp test.tgz -X ex /home/www

/home/www의 모든 파일을 test.tgz로 압축하는데...
-X옵션으로 ex파일에 설정된 경로들은 제외하게 된다.
출처 http://community.365managed.com/?document_srl=828
ex 파일안에 제외할 파일이나 폴더의 경로가 압축할 경로와 같은 방식(상대경로,또는 절대경로)로 적어줘야한다. 압축할 경로는 상대로 적고 제외할경로는 절대로 적는다거나 반대의 경우로하면 안된다.

반응형