
tar는 리눅스에서 가장 널리 쓰이는 파일 아카이브 도구다.
이 명령어 하나만 알면, 여러 개의 파일을 하나로 묶고(tape), 압축하고(compress),
다시 풀고(extract) 하는 작업을 한 줄로 해결할 수 있다.
처음엔 옵션이 헷갈리지만, 개념을 두 가지로 분리하면 쉽게 이해할 수 있다:
🔸 테이핑(taping): 파일을 하나로 묶기
🔸 압축(compression): 용량 줄이기
테이핑(taping) – 여러 파일을 하나로 묶기 (.tar)
tar의 본래 기능은 "Tape Archive", 즉 여러 파일을 하나로 테이프처럼 이어붙이는 것이다.
압축 없이 단순히 하나의 .tar 파일로 묶는다.
기본 사용법
tar -cf archive.tar file1 file2 dir1| 옵션 | 의미 (풀네임) |
|---|---|
-c |
create – 새 아카이브 생성 |
-f |
file – 아카이브 파일 이름 지정 |
file1, file2, dir1은 묶을 대상들
테이핑 예제
# 현재 디렉토리의 모든 파일 묶기
tar -cf backup.tar *
# 특정 디렉토리 묶기
tar -cf project.tar ./src ./doc
묶인 파일은
.tar확장자를 가지며 아직 압축되지 않은 상태다.
*중요* 거의 모든 tar 명령어에서 반드시
-f는 포함해야 한다.
그렇지 않으면tar는stdout으로 덤프를 출력하려고 하기 때문에 화면에 깨진 바이너리가 찍힌다.
압축(compression) – 용량을 줄이기 (.tar.gz, .tar.bz2, .tar.xz 등)
.tar로 묶은 파일을 다시 gzip이나 bzip2, xz 등의 알고리즘으로 압축하면.tar.gz, .tar.bz2, .tar.xz 같은 확장자가 된다.
gzip 압축 (.tar.gz)
tar -zcvf archive.tar.gz target/| 옵션 | 의미 (풀네임) |
|---|---|
-z |
gzip – gzip 압축 사용 |
-c |
create – 생성 |
-v |
verbose - 상세 출력 |
-f |
file – 파일 이름 지정 |
🔸 속도 빠름, 압축률은 보통
🔸 가장 보편적으로 사용됨
🔸 .tar.gz 확장자로 생성
bzip2 압축 (.tar.bz2)
tar -jcvf archive.tar.bz2 target/| 옵션 | 의미 |
|---|---|
-j |
bzip2 압축 사용 |
🔸 압축률은 높음, 속도는 느림
🔸 텍스트 파일에 유리함
🔸 .tar.bz2 확장자
xz 압축 (.tar.xz)
tar -Jcvf archive.tar.xz target/| 옵션 | 의미 |
|---|---|
-J |
xz 압축 사용 |
🔸 가장 높은 압축률, 가장 느림
🔸 저장 공간이 중요한 환경에 적합
🔸 .tar.xz 확장자
압축 풀기 (extract)
.tar만 풀기
tar -xf archive.tar| 옵션 | 의미 |
|---|---|
-x |
extract – 압축 풀기 |
-f |
파일 지정 |
각 옵션에 따라 압축풀기
# gz 압축풀기
tar -zxvf archive.tar.gz
# bzip2 압축풀기
tar -jxvf archive.tar.bz2
# xz 압축풀기
tar -Jxvf archive.tar.xz옵션을 더 쉽게 기억하는 팁
압축
tar -zcvf archive.tar.gz
압축옵션 (
z,j,J) + 압축c+ 공통vf
해제
tar -zxvf archive.tar.gz
압축옵션 (
z,j,J) + 해제x+ 공통vf
마무리
tar는 묶고 + 압축하고 + 푸는 기능이 하나로 통합된 명령어다.-c,-x,-f,-z,-j,-J만 익혀두면 대부분의 작업은 해결된다..zip보다 유연하고, 특히 백업 스크립트나 리눅스 배포 환경에서 표준처럼 사용된다.
'linux' 카테고리의 다른 글
| [리눅스 디스크 관리] linux disk 파티션, mount (1) | 2025.05.28 |
|---|---|
| [리눅스 프로세스 관리] ps와 kill 명령어 + 시그널까지 한 번에 정리하기 (0) | 2025.05.28 |
| [리눅스 권한 명령어 정리] chmod, chown, umask (0) | 2025.05.27 |
| [리눅스 유저 & 그룹 관리] useradd, usermod, passwd, groupadd (0) | 2025.05.26 |
| [리눅스 기본기] redirect, pipe, grep – 셋만 알아도 터미널이 쉬워진다 (0) | 2025.05.23 |