형식별 비교
| 형식 | 확장자 | 압축률 | 속도 | 용도 |
|---|---|---|---|---|
| gzip | .tar.gz / .tgz | 보통 | 빠름 | 리눅스 일반 배포 |
| bzip2 | .tar.bz2 | 높음 | 느림 | 소스 패키지 |
| xz | .tar.xz | 매우 높음 | 매우 느림 | 커널, 배포판 패키지 |
| zip | .zip | 보통 | 빠름 | 크로스플랫폼 |
| 7-zip | .7z | 매우 높음 | 느림 | 최대 압축 |
| zstd | .tar.zst | 높음 | 매우 빠름 | 최신 배포판, Docker |
tar — 묶기와 압축
# 압축 (gzip)
tar czf archive.tar.gz /path/to/dir
# 압축 (bzip2)
tar cjf archive.tar.bz2 /path/to/dir
# 압축 (xz)
tar cJf archive.tar.xz /path/to/dir
# 압축 (zstd)
tar --zstd -cf archive.tar.zst /path/to/dir
# 진행상황 표시
tar czf archive.tar.gz -v /path/to/dir
# 파일 제외
tar czf archive.tar.gz --exclude='*.log' --exclude='.git' /path/to/dir
# 특정 파일만 포함
tar czf archive.tar.gz file1.txt file2.txt dir/tar — 해제
# 해제 (형식 자동 감지)
tar xf archive.tar.gz
# 특정 디렉터리에 해제
tar xzf archive.tar.gz -C /target/dir
# 내용 목록 확인 (해제하지 않음)
tar tzf archive.tar.gz
# 특정 파일만 해제
tar xzf archive.tar.gz path/to/specific/filetar 옵션 요약
| 옵션 | 의미 |
|---|---|
| c | 생성 |
| x | 해제 |
| t | 목록 보기 |
| z | gzip |
| j | bzip2 |
| J | xz |
| f | 파일명 지정 |
| v | 진행상황 출력 |
| C | 대상 디렉터리 |
gzip / gunzip
# 단일 파일 압축 (원본 삭제됨)
gzip file.txt # → file.txt.gz
# 원본 유지
gzip -k file.txt
# 해제
gunzip file.txt.gz
gzip -d file.txt.gz
# 압축 레벨 (1=빠름, 9=최대 압축)
gzip -9 file.txt
# 여러 파일
gzip *.logzip / unzip
# 압축
zip archive.zip file1 file2 dir/
# 디렉터리 재귀 압축
zip -r archive.zip /path/to/dir
# 특정 파일 제외
zip -r archive.zip . -x "*.log" -x ".git/*"
# 암호 설정
zip -e archive.zip files/
# 해제
unzip archive.zip
# 특정 디렉터리에 해제
unzip archive.zip -d /target/dir
# 내용 확인
unzip -l archive.zip7z
sudo apt install -y p7zip-full
# 압축
7z a archive.7z /path/to/dir
# 최대 압축
7z a -mx=9 archive.7z /path/to/dir
# 암호 설정
7z a -p archive.7z files/
# 해제
7z x archive.7z -o/target/dir
# 내용 확인
7z l archive.7zzstd / tar.zst — 고속 고압축 (요즘 표준)
Zstandard(zstd)는 gzip보다 빠르면서 압축률은 더 높아, 최신 배포판·패키지(.pkg.tar.zst)와 백업에서 사실상 표준이 됐다. 확장자는 .zst, tar와 함께 쓰면 .tar.zst다.
sudo apt install -y zstd # Debian/Ubuntu
sudo dnf install -y zstd # RHEL/Fedora
# tar.zst 압축 풀기 (해제, tar 1.31+)
tar --zstd -xf archive.tar.zst
# 특정 폴더로 해제
tar --zstd -xf archive.tar.zst -C /target/dir
# tar.zst 생성
tar --zstd -cf archive.tar.zst /path/to/dir
# 단일 파일 압축 / 해제
zstd file.log # → file.log.zst
zstd -d file.log.zst # 해제 (= unzstd)
# 최대 압축(-19) + 멀티스레드(-T0)
tar -cf backup.tar.zst -I 'zstd -19 -T0' /datatar: unrecognized option '--zstd'가 뜰 때 (tar 1.30 이하, 예: CentOS 7) — zstd로 먼저 풀어 파이프로 넘긴다.
zstd -dc archive.tar.zst | tar -xf -실무 패턴
# 로그 디렉터리 일별 백업
tar czf /backup/logs-$(date +%Y%m%d).tar.gz /var/log/myapp/
# 압축 파일 크기 확인
ls -lh archive.tar.gz
# 원격 서버로 스트리밍 압축 전송
tar czf - /data | ssh user@remote "cat > /backup/data.tar.gz"
# 분할 압축 (4GB 단위)
tar czf - /large-data | split -b 4G - backup.tar.gz.part이 가이드는 AI 도구를 활용해 초안을 구성하고 사람이 명령어·문맥을 검토해 발행했습니다. 운영체제와 도구 버전에 따라 결과가 달라질 수 있으므로 적용 전 공식 문서를 함께 확인하세요. 오류를 발견하시면 이메일로 제보해 주세요.
질문 & 답변 (Q&A)
이 가이드에 대해 궁금한 점을 질문해보세요. 확인 후 답변드립니다.