리눅스를 접하다 보면 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 파일의 압축을 풀 수 있다.
'[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 |