본문 바로가기
[Linux]

Linux ) tar란 무엇인가?

by SAMSUNG Metaverse-Cloud 2023. 8. 13.
728x90

 

 

리눅스를 접하다 보면 tar 형태의 파일을 많이 접하게 된다. 그렇다면 tar란 무엇일까?

 

tar 정의

tar란 여러개의 파일을 하나의 압축 형태로 묶거나 풀 때 사용하는 명령어이다. Type Archive의 줄임말로 우리가 흔히 아는 테이프를 저장한다는 의미이다. 과거에는 tar 자체를 백업 용도로 사용했었다. 그래서 데이터를 하나로 묶고 저장을 한 것이고 그래서 Archive라는 말을 쓰는 것이다. 

tar는 단순 아카이브 기능 즉 백업의 기능을 가지므로 완전히 똑같은 파일을 복사한 후 .tar로 묶이게 된다. 즉 묶이기 전 파일들의 속성과 링크, 디렉토리의 구조를 그대로 가져갈 수 있기 때문에 사용을 한다. 

tar 파일은 압축한다 라는 표현은 쓰지만 실제로는 데이터의 크기가 줄어들지는 않는다. 이는 여러개의 파일을 하나로 묶는 것에 사용되기 때문에 이는 묶기만 하지 크기는 줄어들지 않지만 gzip bzip2 을 통해서 추가적으로 .tar의 크기를 줄일 수 있다. 

 

tar 명령어의 주요 옵션

tar 명령어의 주요 형식은 tar + 필수 옵션 및 부가옵션 + 자신이 묶으려고 하는 파일들 이다.

필수옵션의 조건에는 f,c,r,t,x 가 있다.

f : tar 파일의 이름을 짓거나 대상 tar 아카이브 지정 옵션이다.
c : create의 줄임말로 묶으려고 하는 파일들을 통해서 tar를 만든다는 의미이다.
r : renew로 기존 tar에 새로운 파일을 추가한다는 의미이다.
x : extract로 tar 안에 들어있는 파일들을 빼겠다는 의미이다.
t : list 형태로 보여주라는 의미이다. 

부가적인 옵션

v : 처리과정을 자세하게 나열하는 옵션이다
z : gzip 압축을 적용하는 옵션이다. 
C : 경로를 지정하는 옵션이다.
j : bzip2 압축을 적용하는 옵션이다.
k : 아카이브 추출시 기존 파일을 유지하는 옵션이다.
U : 아카이브 추출 시 기존 파일을 삭제하는 옵션이다.

이 외에도 여러 옵션들이 존재한다. 

 




테스트

가장 먼저 a,b,c 라는 세개의 txt 파일을 생성 했다. 

 

cvf 옵션과 아스타리스크 (*) 을 통해서 현재 디렉토리에 있는 모든 파일들을 tar 파일로 압축했다. 
c 옵션을 통해서 tar 아카이브를 생성하였고 v 옵션을 통해서 아카이브 되는 파일들에 대한 정보를 나열시켰고 f 옵션을 통해서 이름을 지어 주었다.

 

이렇게 아스타리스크를 넣지 않고 직접 파일 이름을 명시해서 압축을 시킬 수 있다. 

 

 

그와는 역순으로 tar xvf 명령어를 통해서 tar 파일의 압축을 풀 수 있다. 

x 옵션이 tar 아카이브에서 파일 추출을 하는 명령어이다. 이는 현재 디렉토리에 푸는 것이다. 

 

 

마지막으로는 -C 옵션을 통해서 내가 원하는 디렉토리로 tar 파일의 압축을 풀 수 있다. 

 

 

728x90

'[Linux]' 카테고리의 다른 글

리눅스 특수권한  (13) 2023.08.15
리눅스 메인보드 변경 시 네트워크 설정 문제  (0) 2023.08.14
CentOS 7 사용자 관리  (7) 2023.08.11
TCP 3-way Handshake, 4-way Handshake  (5) 2023.08.10
[Linux] 시스템 조회 명령어  (0) 2023.02.23