Linux
기본명령어
tar
#
Find similar titles
-
최초 작성자
twndus@kookmin.ac.kr
-
최근 업데이트
twndus@kookmin.ac.kr
Structured data
- Category
- Programming
Table of Contents
리눅스 기본명령어 - tar #
tar 명령어 #
tar는 tape archive의 약자로, 파일 형식 혹은 명령어를 의미한다. 초기에는 테입의 백업 목적으로 개발되었으나, 현재는 배포 혹은 아카이브 용도로 사용된다. 즉, 디렉토리의 구조, 파일의 속성들을 보존하면서 여러 개의 파일을 하나의 큰 파일로 묶기 위해 주로 사용된다.
tar의 경우, 파일을 압축하는 gzip과 함께 사용되는 경우가 잦아, 압축 용도라고 생각하는 경우가 있다. 그러나 직접적인 압축이 아닌, 디렉토리/파일의 구조를 유지하는 용도임을 이해해야 한다.
사용법 #
$ tar [옵션] [경로]
-
옵션
c: 생성, x: 확장, t: 목록, v: 자세한 정보 (파일 이름 나열)
j: bzip2, z: gzip을 compress/uncompress 에 이용
f filename: 아카이브 파일 이름 지정. -
경로
절대 경로와 상대 경로 모두 가능하다.
기본적으로 위와 같은 형식이지만, 아카이브를 형성 및 해제를 위한 형식이 다르다.
아래 형식을 통해 확인하자.
-
아카이브의 형성
$ tar cvf name.tar <디렉토리>
디렉토리의 모든 구조와 내용을 유지하는 name.tar라는 이름의 아카이브를 형성
-
아카이브의 해제
$ tar xvf name.tar
name.tar 아카이브를 디렉토리/파일 구조로 해제
예제 #
예제를 통해 tar 명령어의 사용법을 알아보자.
예제 1 - 확장자가 .tar 인 경우 #
아카이브 형성 #
a 디렉토리와 그 하위 모든 구조를 a.tar 이름으로 아카이브를 형성한다.
$ tar cvf a.tar a
a/
a/b/
a/b/c.txt
$ ls
a a.tar
아카이브 해제 #
a.tar 이름의 아카이브 해제
$ tar xvf a.tar
a/
a/b/
a/b/c.txt
$ ls
a a.tar
예제 2 - 확장자가 .tar.gz 인 경우 #
아카이브 형성 및 압축 #
a 디렉토리와 그 하위 모든 구조를 a.tar 이름으로 아카이브를 형성하고, gzip으로 압축한다.
$ tar zcvf a.tar.gz a
a/
a/b/
a/b/c.txt
$ ls
a a.tar.gz
아카이브 및 압축 해제 #
a.tar.gz 파일의 압축을 해제하고(gunzip), 아카이브를 해제한다.
$ tar zxvf a.tar.gz
a/
a/b/
a/b/c.txt
$ ls
a a.tar.gz