← 아티클 목록

tar gzip 압축 사용법 — 묶기와 압축을 나눠서 이해하기

2028-12-18#linux#tar#압축

tar -czf를 외워서 쓰다 보면 막상 옵션 하나가 바뀌면 멈칫합니다. 헷갈리는 핵심은 하나, tar는 '묶기'고 gzip은 '압축'이라 원래 별개라는 점입니다. 이 둘이 한 명령에 섞여 있어 어렵게 느껴질 뿐입니다.

tar는 묶기, gzip은 압축

tar(tape archive)는 여러 파일·디렉터리를 하나의 파일로 묶기만 합니다. 묶은 결과인 .tar는 크기가 줄지 않습니다. 여기에 gzip을 적용하면 그제야 용량이 줄어 .tar.gz(또는 .tgz)가 됩니다. tar-z 옵션은 "묶으면서 gzip까지 한 번에 돌려라"는 뜻일 뿐입니다.

구분targzip
하는 일여러 파일을 하나로 묶기파일 1개를 압축
결과.tar (크기 그대로).gz (크기 감소)
여러 파일가능불가 (그래서 tar로 먼저 묶음)
같이 쓰면tar -z로 묶기+압축

옵션을 글자로 풀어보기

tar -czf backup.tar.gz logs/에서 옵션은 각각 한 글자씩 의미가 있습니다.

로컬 터미널
tar -czf backup.tar.gz logs/   # 압축해서 묶기
tar -xzf backup.tar.gz         # 풀기
tar -tzf backup.tar.gz         # 내용만 보기 (풀지 않고 목록 확인)
  • c = create (새로 묶기), x = extract (풀기), t = list (목록)
  • z = gzip 압축/해제
  • f = file, 바로 뒤에 오는 이름을 대상 파일로 지정
  • v = verbose, 처리 중인 파일을 화면에 출력 (-czvf)

압축할 때는 c, 풀 때는 x만 바뀐다고 보면 됩니다. f는 항상 파일명 바로 앞에 와야 하므로 보통 옵션 묶음의 맨 끝에 둡니다.

OUTPUT
logs/
logs/app.log
logs/error.log

특정 디렉터리에 풀고 싶으면 -C를 씁니다.

로컬 터미널
tar -xzf backup.tar.gz -C /tmp/restore   # /tmp/restore 안에 풀기

gz 대신 j(bzip2)나 J(xz)를 쓰면 압축률이 더 높아지지만 그만큼 느려집니다. 일상적인 백업·전송에는 속도와 호환성이 좋은 gzip(z)이 가장 무난합니다.

요점 정리

  • tar묶기, gzip압축 — 원래 별개의 작업입니다.
  • -z가 둘을 한 명령으로 합쳐줍니다.
  • 압축 -czf, 해제 -xzf, 목록 -tzfc/x/t만 바뀝니다.
  • f는 파일명 앞, -C로 풀 위치 지정, -v로 진행 상황 확인.

압축·백업 명령을 직접 묶고 풀어보며 익히는 실습은 리눅스 트랙에서 회원가입 없이 무료로 할 수 있습니다.