[본문스크랩] tar 명령어 사용법 및 예제, gz, bz2 압축 및 해제
tar 명령어는 단순하게 파일을 압축하는 용도로 사용하는 것이 아닌, 파일이나 디렉토리를 묶는 용도에 사용한다.
이것은 윈도우에서 용량을 줄이기 위해서 압축하는 것과는 다르다.
또한 tar는 파일의 허가권이나 소유권 등의 정보를 유지하면서 많은 파일을 하나의 파일로 묶는 기능을 가진 아카이브 유틸리티이다.
특징
여러 디렉터리를 묶을 수 있고 파일의 소유권과 액세스 퍼미션 등도 그대로 보존 가능하다.
NFS로 마운트된 원격 파일시스템을 백업하는데 유용하다.
단점
여러 개의 디스크에 연속해서 기록할 수 없다.
기록 보존파일의 최대 크기는 해당 기록매체의 용량에 제한을 받는다.
명령어 형식 - Syntax
tar [[-]function] [options] filenames...
tar [[-]function] [options] -C directory-name...
function : 수행할 작업을 지시하는 단일 명령
option : 처리할 기능
filenames : 풀거나 묶을 파일 리스트(목록)
tar(Type Archiver) | |
---|---|
function | 의 미 |
c | 아카이브 생성(묶음) |
x | 아카이브로 부터 파일 추출 |
d | 아카이브에 있는 파일과 비교 |
r | 아카이브된 파일의 마지막 부분에 파일 추가 |
t | 아카이브에 담긴 내용 나열 |
u | 아카이브에 있는 기존 파일보다 새로운 파일로 업데이트 |
option | 의; 미 |
f | 읽거나 기록할 파일 을 정의 |
v | 묶거나 풀고 있는 파일을 보기 |
z | gzip으로 압축하여 백업 |
ex 1) a 디렉토리에 있는 모든 파일들을 a.tar라는 파일로 아카이브 묶기 : tar cf a.tar a
ex 2) 예제1에서 작업을 할 때 어떤 파일들이 묶이고 있는지 목록을 보기 : tar cvf a.tar a
ex 3) 예제2에서 처럼 목록을 보면서 해당 파일의 속성까지 보는 방법 : tar cvvf a.tar a
ex 4) a.tar 파일를 푸는 방법 : tar xvf a.tar
ex 5) a.tar 파일안에 있는 forlov3u.blog.me - 특정 - 파일만 추출하는 방법
tar tvf a.tar - 해당 tarfile에 추출하고자 있는 파일이 있는지 일단 확인
tar xvf a.tar a/forlov3u.blog.me - 해당 파일있다면 정확한 경로명까지 써주고 추출
ex 6) a.tar 파일에 b 디렉토리 추가하기 : tar rvf a.tar b
ex 7) 예제5에서 만든 a.tar 파일에 b 디렉토리를 비교해서 새로운 파일 추가하기
tar uvf a.tar b - b 디렉토리를 아카이브 한 후 특정 파일들이 생성되어 묶어야 할 경우에 사용
ex 8) a 디렉토리의 구조 전체를 b 디렉토리에 미러링 하는 방법
cd a
tar cf - . | (cd ../b; tar xvf -)
ex 9) a 디렉토리를 abc.tar.gz 압축 파일로 만들기
tar cvzf abc.tar.gz a
tar --create --gzip --verbose --file=abc.tar.gz a
tar cvf abc.tar a | gzip -9 >abc.tar.gz
ex 10) abc.tar.gz 파일 압축 해제
tar xvzf abc.tar.gz
tar --extract --gunzip --verbose --file=abc.tar.gz
gunzip -9c abc.tar.gz | tar xvf -
ex 12) tarfile.tar.bz2 파일로 만드는 방법
tar cvf tarfile.tar.bz2 --use-compress-program=biz2 files ...
tar cvf tarfile.tar.bz2 --use=bizp2 files ...
tar cvIpf tarfile.tar.bz2 files ...
tar cvjpf tarfile.tar.bz2 files ...
여기서 주의할점은 'I' 와 'j' 옵션이 각 시스템에서 되는 경우도 있고 안되는 경우도 있다는 것이다.
그것은 해당 tar 명령어가 어떤 시스템에 있느냐에 따라서 약간의 차이가 있다.
현재 대부분 j 를 사용한다.
bz2 압축을 풀때는 'c' 대신에 'x'를 사용하면 된다.
유의할 점
tar의 첫째 인수는 함수 글자여야 하며 그 뒤에 옵션이 따른다.
유닉스 옵션 앞에 하이픈(-)을 붙이는 것과는 달리 tar는 생략해도 된다.
하지만 하이픈(-)을 붙이는 경우가 있는데 이러한 것을 '짧은 옵션 스타일'이라고 부른다.
특정 버전의 tar 명령은 옵션 f가 오면 파일 이름이 그뒤를 따라야한다.
또한 z, I 옵션은 GNU 버전의 tar에서만 지원된다.
즉 tar ???f filename ...