#간단 tar 설명
tar [동작] [옵션] [묶음파일명] [file or dir]
tar 는 압축 명령이 아니라 여러개의 파일을 하나로 묶는 명령어
c : 새로운 묶음
x: 묶인 파일을 풀어줌
t: 묶음을 풀기전에 묶인 경로를 보여줌
f(필수): 묶음 파일명 지정
v: visual
z: tar+gzip (GNU only)
j: tar+bzip2(GNU only)
z옵션을 이용해 압축해보자
tar cvfz 파일명.tar.gz ./* : 현재 디렉토리의 파일을 전부 압축
출처 : http://www.zetswing.com/bbs/board.php?bo_table=OS_LINUX&wr_id=5&page=2
압축을 풀때는 항상 폴더를 하나 새로 만들고 그안에서 푸는 습관을 기르자.
이유는 현재 폴더에 같은 파일명이 있다면 물어보지 않고 새로 덮어쓰기 때문이다.
1. 압축 풀기
tar.gz 압축 풀기
tar xvfz test.tar.gz
tar 압축 풀기
tar xvf test.tar
tar.bz2 압축풀기
tar xvfj test.tar.bz2
2. 압축 하기
현재 폴더에 모든 파일과 서브 폴더를 하나의 tar 파일로 합친다.
tar cvf test.tar ./*
※ 위의 명령은 썬 솔라리스 에서는 실행됨
※ 위의 명령은 IBM AIX 에서 실행됨
현재 폴더의 서브폴더인 test_dir 폴더를 tar 파일로 합친다.
tar cvf test.tar ./test_dir
※ 위의 명령은 솔라리스 OS에서는 실행됨
현재 폴더에 모든 파일과 서브폴더를 하나의 tar 파일로 합치면서 압축도 한다.
tar cvfz test.tar ./*
※ 위의 명령은 솔라리스 OS에서는 실행안됨
현재 폴더의 서브폴더인 test_dir 폴더를 tar.gz 파일로 합치면서 압축도 한다.
tar cvfz test.tar.gz ./test_dir
※ 위의 명령은 솔라리스 OS에서는 실행안됨
※ 위의 명령은 IBM AIX 에서 실행안됨
아래의 명령은 현대 경로에서 특정 폴더만 압축을 하는 명령
tar cvfz image.tar.gz ./1102 ./1101 ./1012 ./1011 ./1010
현재 폴더의 서브폴더인 test_dir 폴더를 tar.bz2 파일로 합치면서 압축도 한다.
tar cvfj test.tar.bz2 ./test_dir
※ 위의 명령은 솔라리스 OS에서는 실행안됨
3. 압축 원리
tar.gz 파일은 tar 명령어로 여러파일을 하나로 합친후 gzip 명령어로 압축을 하는것이다.
tar.bz2도 tar 명령어로 여러파일을 하나로 모은다음에 gzip 명령어로 압축을 하는것이다.
gzip : 리눅스, 유닉스에서 압축하는 명령어
tar : 리눅스, 유닉스에서 여러파일을 하나로 묶는 명령어 (50%의 압출률도 있음)
※ alz, zip 압축파일은 리눅스에서 압축풀기가 불가능
※ tar.gz, tar 압축파일은 윈도우의 알집에서 압축풀기가 가능
4. TIP
A 서버에서 B 서버로 파일을 이동할때 파일 갯수가 많아 SCP 명령어로 시간이 오래거리거나
에러나 날때는 A 서버에서 이동할 파일또는 폴더를 압축한후 SCP 명령어로 이동한후
B 서버에서 압축을 푸는 방법이 좋다.