생성된 명령어

tar -czvf archive.tar.gz ./

tar란?

tar(tape archive)는 Unix/Linux에서 여러 파일과 디렉토리를 하나의 아카이브 파일로 묶는 명령어입니다. 자체적으로는 압축 기능이 없지만, gzip, bzip2, xz 등의 압축 도구와 함께 사용하여 파일을 압축할 수 있습니다. 서버 백업, 소스 코드 배포, 로그 파일 관리 등에 널리 사용됩니다.

압축 형식 비교

형식 확장자 플래그 특징
없음 .tar - 압축 없이 파일만 묶음
gzip .tar.gz z 가장 널리 사용. 속도와 압축률의 균형
bzip2 .tar.bz2 j gzip보다 높은 압축률, 느린 속도
xz .tar.xz J 가장 높은 압축률, 가장 느린 속도

주요 옵션

옵션 설명
-c 새 아카이브 생성 (create)
-x 아카이브 해제 (extract)
-t 아카이브 내용 목록 보기 (list)
-f 아카이브 파일명 지정
-v 처리 과정 상세 출력 (verbose)
-z gzip으로 압축/해제
-j bzip2로 압축/해제
-J xz로 압축/해제
-p 파일 권한 보존 (preserve permissions)
-C 지정한 디렉토리에서 작업
--exclude 특정 파일/패턴 제외

자주 쓰는 tar 예시

디렉토리를 gzip으로 압축

tar -czvf backup.tar.gz ./my-project

gzip 아카이브 해제

tar -xzvf backup.tar.gz

특정 디렉토리에 해제

tar -xzvf backup.tar.gz -C /opt/restore

아카이브 내용 확인

tar -tzvf backup.tar.gz

node_modules와 .git 제외하고 압축

tar -czvf project.tar.gz \
  --exclude='node_modules' \
  --exclude='.git' ./my-project

xz로 최대 압축

tar -cJvf archive.tar.xz ./data