tar 압축 해제 명령어 사용법

작성자

카테고리:

📌 소개: 리눅스 서버 운영 및 데이터 관리를 위한 필수 tar 명령어 사용 가이드

🌐 주소: 공식 매뉴얼 가기

리눅스나 유닉스 환경에서 시스템을 다루다 보면 패키지를 다운로드하거나 백업 파일을 전송할 때 반드시 마주치게 되는 도구가 있습니다.
바로 수많은 파일을 하나로 묶고 효율적으로 전송하기 위해 사용하는 tar 명령어입니다.
단순한 아카이빙부터 강력한 압축 알고리즘 연동까지 실무에서 바로 써먹을 수 있는 핵심 기법들을 완벽하게 마스터해 보겠습니다.

tar 명령어는 시스템 엔지니어뿐만 아니라 일반 개발자에게도 필수적인 도구로 다음과 같은 세 가지 핵심 장점을 가집니다.

  • 디렉터리 구조 유지: 파일의 계층 구조와 원본 파일의 권한(Permission) 설정을 그대로 보존하여 아카이브를 생성합니다.
  • 다양한 압축 알고리즘 연동: gzip, bzip2, xz 등 대중적인 압축 기술을 옵션 한 글자 차이로 자유롭게 전환할 수 있습니다.
  • 네트워크 리소스 절약: 불필요한 메타데이터 전송을 줄여 대용량 데이터를 복사하거나 백업할 때 속도를 극대화합니다.

tar 명령어의 작동 원리와 핵심 옵션 분석

엄밀히 말해 tar는 파일의 용량을 줄이는 ‘압축’ 도구가 아닌, 단순히 여러 개의 파일을 하나로 묶어주는 ‘아카이빙(Archiving)’ 도구입니다.
용량을 압축하기 위해서는 아카이브된 파일에 추가적인 알고리즘을 적용해야 하며, 이때 사용하는 매개변수가 달라집니다.

💡 자주 사용하는 핵심 옵션 리스트
-c (create): 새로운 아카이브 파일을 생성합니다.
-x (extract): 기존 아카이브 파일의 압축을 해제합니다.
-v (verbose): 작업 진행 상황을 터미널 창에 실시간으로 표시합니다.
-f (file): 대상 아카이브 파일의 이름을 지정합니다. (반드시 사용)
-z (gzip): gzip 방식을 적용하여 .tar.gz 형태로 압축합니다.
-j (bzip2): bzip2 방식을 적용하여 .tar.bz2 형태로 압축합니다.
-J (xz): xz 방식을 적용하여 .tar.xz 형태로 압축합니다.

리눅스 tar 압축 및 해제 명령어 옵션 시각적 가이드

(리눅스 터미널 환경에서 각 압축 방식에 매핑되는 tar 주요 옵션의 논리적 상관관계 및 구조도)

파일 하나로 묶기 및 포맷별 압축 명령어

기본적으로 파일을 단순 아카이빙할 때는 -cvf 옵션을 사용합니다.
하지만 네트워크 전송 시에는 용량을 최적화해야 하므로 gzip 혹은 xz 알고리즘을 함께 얹어서 압축하는 것이 일반적입니다.

가장 범용적으로 사용되는 gzip 압축(.tar.gz) 명령어 사용 방법은 아래와 같습니다.

$ tar -czvf archive.tar.gz [압축할 디렉터리 또는 파일 경로]

만약 극강의 압축률이 필요한 대용량 소스코드 백업 작업이라면 xz 압축(.tar.xz) 방식을 선택하는 것이 매우 탁월한 판단입니다.

$ tar -cJvf archive.tar.xz [압축할 디렉터리 또는 파일 경로]

아카이브 풀기 및 압축 해제 명령어

반대로 패키지를 내려받았거나 백업본을 다시 서버에 배포해야 할 때는 압축 해제 옵션이 필요합니다.
이때 핵심은 아카이브를 만들 때 사용했던 -c 옵션을 압축 해제를 뜻하는 -x 옵션으로 전환해 주는 것입니다.

가장 대중적인 .tar.gz 파일을 원래대로 안전하게 풀어내는 표준 구문입니다.

$ tar -xzvf archive.tar.gz

최근 오픈소스 프로젝트 빌드본 배포에 자주 활용되는 .tar.xz 압축 포맷 역시 대문자 J를 조합하여 매우 손쉽게 해제할 수 있습니다.

$ tar -xJvf archive.tar.xz

⭐ 실무 백업 자동화를 위한 고급 꿀팁
서버의 특정 불필요한 로그 데이터나 캐시 디렉터리를 아카이빙 대상에서 완전히 배제하고 싶다면 --exclude 옵션을 뒤에 덧붙여 명령어를 실행하세요. 백업 파일의 용량 절감은 물론 생성 속도까지 획기적으로 향상시킬 수 있는 노하우입니다.

명령어 실행 전 옵션 배치 순서에 유의하셔야 합니다. 특히 아카이브 파일의 이름을 선언하는 -f 옵션은 항상 다른 문자들보다 맨 뒤에 배치하여 대상 파일명과 인접해 있게 구성해야 구문 오류를 완벽하게 미연에 방지할 수 있습니다.