본문 바로가기
OS & Software/Linux

리눅스 Tar 압축과 해제:

by 아이럽스토리지 2026. 2. 28.
반응형

리눅스 서버를 운영하다 보면 백업을 하거나 소스 코드를 내려받을 때 .tar.gz라는 확장자를 지겹도록 보게 됩니다.

"그냥 zip 쓰면 안 되나요?" 물론 unzip 명령어도 있지만, 리눅스 세계의 표준은 "tar(타르)"입니다.
파일의 권한(Permission)과 속성을 그대로 유지한 채 묶어주기 때문입니다.

오늘은 알집 없는 리눅스 세상에서 살아남기 위한 유일한 생존 도구, tar 명령어를 마스터해 봅니다.

 


1. 도대체 tar가 뭔가요? (Tape ARchive)

원래 tar는 파일을 압축하는 도구가 아니라, 여러 개의 파일을 하나로 묶는(Bundling) 도구였습니다.
(방바닥에 흩어진 옷들을 보따리에 싸는 것)

그런데 묶기만 하면 용량이 너무 크니까, "gzip"이라는 압축 기술을 빌려와서 용량을 줄입니다.
(보따리를 진공 포장기로 압축하는 것)

그래서 리눅스 압축 파일 이름이 보따리이름.tar.gz (tar로 묶고 gz로 압축했다)가 되는 것입니다.

 

 


2. 마법의 주문: z, c, x, v, f (외우는 법)

명령어가 길어 보이지만, 이 5개 알파벳의 뜻만 알면 외울 필요가 없습니다.

  • z (gZip): gzip으로 압축해라 (이게 빠지면 그냥 묶기만 함)
  • c (Create): 새로 만듦 (압축하기)
  • x (eXtract): 꺼냄 (압축 풀기)
  • v (Verbose): 과정을 보여줌 (어떤 파일이 처리되는지 화면에 출력)
  • f (File): 파일 이름을 지정함 (이 옵션 뒤에는 무조건 파일명이 와야 함)

3초 만에 외우는 팁

  • 압축할 때: Create (생성) → c
  • 풀 때: eXtract (추출) → x
  • 나머지 zvf는 똑같습니다. 즉, c냐 x냐 그것만 기억하면 됩니다.


3. 실전 1: 압축하기 (묶기)

home이라는 폴더를 backup.tar.gz라는 이름으로 압축하고 싶다면? "생성(Create)"해야 하니까 옵션 "c"를 씁니다.

tar -zcvf [만들 파일 이름] [압축할 대상]

Bash
 
tar -zcvf backup.tar.gz /home/mydata
  • 해석: gzip(z)으로, 생성(c)해서, 보여주면서(v), 파일(f)로 만드는데 이름은 backup.tar.gz이고 대상은 /home/mydata이다.

4. 실전 2: 압축 풀기 (해제하기)

backup.tar.gz 파일을 현재 폴더에 풀고 싶다면? "추출(eXtract)"해야 하니까 옵션 "x"를 씁니다.

tar -zxvf [풀고 싶은 파일 이름]

Bash
 
tar -zxvf backup.tar.gz
  • 해석: gzip(z)된 걸, 추출(x)해서, 보여주면서(v), 이 파일(f)을 푼다.

5. 고급 팁: 딴 곳에 풀고 싶다면? (-C 옵션)

가끔 압축을 풀면 파일 1000개가 현재 폴더에 쏟아져 나와서 난장판이 될 때가 있습니다.
이럴 때는 깔끔하게 특정 폴더를 지정해서 그 안에 풀 수 있습니다.

대문자 -C (Change directory) 옵션을 씁니다.

Bash
 
# data라는 폴더를 먼저 만들고
mkdir data

# 그 안에 압축을 푼다
tar -zxvf backup.tar.gz -C ./data

이 명령어는 실무에서 정말 많이 쓰이니 꼭 기억해 두세요.


6. 결론: zcvf와 zxvf만 기억하자

복잡한 옵션이 많지만, 는 건 딱 두 개입니다.

  1. 묶을 때는 zcvf (Create)
  2. 풀 때는 zxvf (eXtract)

이제 검은 화면에서 .tar.gz 파일을 만나도 당황하지 말고, 마법의 주문 zxvf를 입력해 보세요.

 

반응형