RadarURL

유닉스/리눅스
2014.11.18 19:18

TAR 명령어의 모든것

조회 수 1118 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

목차

  1. tar 소개
  2. 미리 알아두면 좋을 것들
    1. 옵션주는 방법
    2. -f와 -v옵션이 많이 쓰이는가?
    3. 가장 많이 사용되는 작업
  3. 기본 명령어 활용예
    1. 아카이브 풀기
    2. 아카이브 만들기
    3. 아카이브 내용보기
    4. 퍼미션을 유지하며 아카이브 만들기
    5. tar+gzip 압축하기
    6. tar+bzip2 압축하기
    7. gzip으로 압축된 tar 풀기
    8. bzip2로 압축된 tar 풀기
    9. 허가권(Permission) 유지하며 풀기
  4. 백업에 활용하기
    1. 아카이브에 새 파일 추가하기
    2. 아카이브에 파일 업데이트하기
    3. 아카이브에 파일 삭제하기
    4. 아카이브에서 특정 디렉토리 또는 파일만 풀기
    5. 옛버전 파일 풀기
    6. 아카이브에서 파일 비교하기
  5. 기타

모든 하위 디렉토리에 특정 소스만 묶고 싶을 때는?

TAR 명령어의 모든것

1 tar 소개

주요기능은?

아카이브를 만들거나 푼다.

아카이브란?

아카이브는 여러 파일을 한 파일로 묶은 것을 말한다. tar는 아카이브를 압축하지 않는다. 단지 하나의 파일로 묶을 뿐이다. 아카이브의 압축은 gzip이나 bzip2등을 이용한다.

아카이브를 만드는 목적

파일의 백업이나 배포에 편리하게 이용된다.

확장자

아카이브의 확장자는 .tar 이다. 일반적으로 tar로 묶인 아카이브를 gzip으로 압축하여 확장자가 .tar.gz 압축 아카이브를 많이 이용한다.

유래

원래, tar 아카이브는 마그네틱 테이프에 파일을 저장하기 위해 만들어졌다. 그래서 tar는 tape archiver에서 유래한다.

2 미리 알아두면 좋을 것들

2.1 옵션주는 방법

긴 형식 옵션

tar --create --verbose --file=afiles.tar apple angst aspic

짭은 형식 옵션

tar -c -v -f afiles.tar apple angst aspic

또는 붙여서

tar -cvf afiles.tar apple angst aspic

tar 는 반드시 옵션이 필요 해서 옵션에 - 를 붙이지 않아도 된다.

tar cvf afiles.tar apple angst aspic

2.2 왜 -f와 -v옵션이 많이 쓰이는가?

-f --file=

-f 는 아카이브 파일의 이름을 지정해 주는 옵션이다. -f 가 없으면 아카이브의 이름이 없는 샘이다. 따라서, -f 로 아카이브의 이름을 꼭 명시해야 한다. tar는 아카이브 이름이 없으면 디폴트 이름을 취한다. 원래 tar의 목적대로 (디폴트로 엑션) 테입드라이브로 아카이브를 저장하려 들지도 모른다. 요즘은, 컴퓨터에 마그네틱 테입 드라이브가 없으므로 에러가 발생할 것이다.

-v --verbose

-v 옵션이 있으면 아카이브에 추가되거나 풀리고 있는 파일의 이름을 화면에 보여준다. 진행사항을 알 수 있기 때문에 사용하는게 좋다.

"ls -l" 과 같은 형식으로 파일을 보려면 v를 두번 써준다.

tar -cvvf afiles.tar 파일들(디렉토리들)

2.3 가장 많이 사용되는 작업

--create -c 새로운 아카이브를 생성한다.

--list -t 아카이브의 내용(묶인 파일이름)을 보여준다.

--extract -x 아카이브에 묶인 파일이나 디렉토리를 풀어준다.

·  아카이브의 파일 리스트 보기

3 명령어 활용예

3.1 아카이브 풀기

 tar -xvf afiles.tar

afiles.tar 라는 아카이브 파일에 묶인 파일과 디렉토리를 현재 디렉토리에 풀어준다.

3.2 아카이브 만들기

 tar -cvf afiles.tar 묶을파일과디렉토리들

afiles.tar 라는 이름으로 파일과 디렉토리를 묶어준다.

3.3 아카이브 내용보기

 tar -tvf afiles.tar 묶을파일과디렉토리들

afiles.tar 라는 이름으로 묶인 파일과 디렉토리를 보여 준다.

3.4 퍼미션을 유지하며 아카이브 만들기

 tar -cvfp archive.tar 묶을파일과디렉토리들

afiles.tar 라는 이름으로 퍼미션을 유지하며 파일과 디렉토리를 묶어준다.

3.5 tar+gzip 압축하기

tar -czvf afiles.tar.gz 묶을파일과디렉토리들

afiles.tar.gz 라는 이름으로 파일과 디렉토리를 묶어준다.

tar -czvfp afiles.tar.gz 묶을파일과디렉토리들

afiles.tar.gz 라는 이름으로 퍼미션을 유지하며 파일과 디렉토리를 묶어준다.

3.6 tar+bzip2 압축하기

tar -cjvf afiles.tar.bz 묶을파일과디렉토리들

afiles.tar.bz 라는 이름으로 파일과 디렉토리를 묶어준다.

tar -cvjfp afiles.tar.gz 묶을파일과디렉토리들

afiles.tar.gz 라는 이름으로 퍼미션을 유지하며 파일과 디렉토리를 묶어준다.

3.7 gzip으로 압축된 tar 풀기

 tar -xvzf afiles.tar.gz

afiles.tar.gz 라는 tar 로 묶인뒤 gzip 으로 압축된 파일을 먼저 압축을 푼뒤에 묶인 파일까지 풀어준다.

3.8 bzip2로 압축된 tar 풀기

 tar -xvjf afiles.tar.bz

afiles.tar.bz 라는 tar 로 묶인뒤 bzip2로 압축된 파일을 먼저 압축을 푼뒤에 묶인 파일까지 풀어준다.

3.9 허가권(Permission) 유지하며 풀기

 tar -xpf afiles.tar

파일을 묶을 당시의 각 파일의 허가권을 유지하며 풀어준다.

4 백업에 활용하기

4.1 아카이브에 새 파일 추가하기

 tar --append --file=collection.tar rock

또는

 tar -rvf collection.tar rock

collection.tar 라는 기존 아카이브 파일에 rock라는 파일을 추가한다. 옵션은 --append (-r) 이다.

똑같은 이름의 파일이 아카이브에 추가되면 기존의 오래된 파일은 지워지지 않고 아카이브에 남아 있는다.

따라서 같은 이름의 파일을 여러번 추가하면 (append) 추가된 시간별로 여러 버전의 파일이 존재한다. 그러나, 아카이브를 풀때는 가장 최신 파일이 풀린다.

4.2 아카이브에 파일 업데이트하기

 tar -uvf collection.tar blues folk rock classical

collection.tar 라는 기존 아카이브에 blues folk rock classical등 4 개의 파일을 업데이트 한다. 업데이트는 날자와 시간을 기준으로 실행한다. 아카이브에 있는 파일과 업데이트할 파일이 수정된 날자가 같으면 아카이브에 추가하지 않는다.

만약 아카이브에 있는 파일보다 최근에 수정이 되었으면 아카아브에 추가한다. 기존의 오래된 파일은 지워지지 않고 남아 있는다.

따라서, 업데이트를 여러번 하면, 같은 이름의 파일이 수정된 시간별로 여러가지 버전이 존재할 수 있다. 그러나, 아카이브를 풀때는 가장 최신 파일이 풀린다.

아카이브를 풀때 옵션은 --update(-r)이다.

4.3 아카이브에 파일 삭제하기

 tar --delete --file=collection.tar blues

collection.tar 라는 기존 아카이브에서 blues라는 파일을 삭제한다. 주의할 것은 모든 blues파일을 삭제한다는 것이다. 모든 디렉토리내의 blues파일과 여러 버전의 blues가 모두 삭제된다. 다른 옵션과 달리 삭제 옵션인 --delete는 짧은 형식의 옵션이 없다.

3.4 아카이브에서 특정 디렉토리 또는 파일만 풀기

명시된 파일 풀기: collection.tar 라는 아카이브에서 blues라는 파일만 현재 디렉토리에 푼다.

tar --extract --file=collection.tar blues

디렉토리까지 명시: music.tar 에서 practice/folk와 practice/jazz파일만 푼다.

tar -xvf music.tar practice/folk practice/jazz

 

*** 실제 활용 예 ***

tar xzvfp /backup/20050107/20050107.tar.gz /home/ home/yc1500

tar [옵션] [아카이브파일명] [압축을풀어놓을 대상디렉터리] [압축파일내의 특정파일(폴더)]

p 옵션: 허가권 유지 옵션

 

4.5 옛버전 파일 풀기

 tar --extract --file archive.tar --occurrence=2 myfile 

archive.tar 라는 아카이브에서 2번째 버전의 myfile을 푼다.

 tar --extract --file archive.tar --occurrence 

archive.tar 라는 아카이브에서 첫번째 버전의 모든 파일을 푼다.

4.6 아카이브 파일과 실제 파일 비교하기

 tar -d -f archive.tar *.c

archive.tar라는 아카이브에 모든 c파일들과 현재 디렉토리의 c파일을 비교한다. 수정 날자와 내용을 비교하고 내용이나 날자가 다르면 화면에 보여준다.

5 기타

5.1 모든 하위 디렉토리의 특정 소스만 묶고 싶을 때는?

쉘 컴멘드와 조합하여 특정 소스를 찾아서 아카이브에 추가 할 수 있다.

먼저 아카이브를 하나 만든다.

 tar -cvf test.tar prog1.c

for 문과 find 명령을 이용해서 하위 디렉토리의 묶고 싶은 파일을 찾고, tar의 -r 옵션으로 test.tar에 하나씩 추가한다.

 for i in $(find . -name '*.c'); do tar -rvf test.tar $i; done

find 의 다양한 검색능력을 100%활용할 수 있다. 


출처 : http://rjh1147.tistory.com/6

TAG •
?

공부 게시판

공부에 도움되는 글을 올려주세요.

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
공지 [공지] 공부 게시판 입니다. 처누 2003.08.18 927843
2006 건강 체외 충격파치료 (ESWT, Extracorporeal Shock Wave Therapy) 설명 및 부작용 JaeSoo 2014.11.25 954
2005 건강 석회화건염 간단한 치료 file JaeSoo 2014.11.25 909
2004 건강 [보건의료] 체외충격파치료 [국민신문고] JaeSoo 2014.11.25 917
2003 건강 체외충격파 부작용 으로 검색하여 찾은 글 file JaeSoo 2014.11.24 1138
2002 소프트웨어 subsonic(서브소닉) 라이센스 회피 file JaeSoo 2014.11.22 959
2001 취미 Subsonic(서브소닉) 사용 방법 file JaeSoo 2014.11.22 951
2000 블로그 블로그 만들기, BLOG 서비스를 제공하는 사이트 종류별 비교분석 file JaeSoo 2014.11.21 2662
1999 하드웨어 스토리지 IBrix 6.0 preview JaeSoo 2014.11.20 538
1998 유닉스/리눅스 리눅스 버전 확인(centos, redhat) 하는 명령어 JaeSoo 2014.11.18 1119
1997 유닉스/리눅스 리눅스 자동 백업 스크립트 JaeSoo 2014.11.18 844
» 유닉스/리눅스 TAR 명령어의 모든것 JaeSoo 2014.11.18 1118
1995 유닉스/리눅스 gzip 과 gunzip 명령어 JaeSoo 2014.11.18 657
1994 유닉스/리눅스 yum 이란? JaeSoo 2014.11.18 698
1993 유닉스/리눅스 리눅스 스케줄 설정 crontab JaeSoo 2014.11.18 798
1992 유닉스/리눅스 yum 사용법 정리 JaeSoo 2014.11.18 798
1991 데이터베이스 Mysql binary log 정리, 삭제 주기 설정 JaeSoo 2014.11.17 1157
1990 데이터베이스 MySQL 로그 파일 관리 2 - 로그 파일 남기기 JaeSoo 2014.11.17 1237
1989 데이터베이스 MySQL 로그 파일 관리 1 - 설정 JaeSoo 2014.11.17 1155
1988 데이터베이스 MySQL Binary Log 지우는 방법 JaeSoo 2014.11.17 1222
1987 데이터베이스 MySQL 설치/사용시 발생 에러 유형별 대처방법 JaeSoo 2014.11.17 6889
Board Pagination Prev 1 ... 19 20 21 22 23 24 25 26 27 28 ... 124 Next
/ 124


즐겨찾기 (가족)

JAESOO's HOMEPAGE


YOUNGAE's HOMEPAGE


장여은 홈페이지


장여희 홈페이지


장여원 홈페이지


즐겨찾기 (업무)

알리카페 홀릭

숭실대 컴퓨터 통신연구실 (서창진)

말레이시아 KL Sentral 한국인 GuestHouse


즐겨찾기 (취미)

어드민아이디

유에코 사랑회

아스가르드 좋은사람/나쁜사람

JServer.kr

제이서버 메타블로그

재수 티스토리


즐겨찾기 (강의, 커뮤니티)

재수 강의 홈페이지


한소리


VTMODE.COM


숭실대 인공지능학과


숭실대 통신연구실


베너