zip — 압축 파일 만들기

Linux / 파일 및 디스크 관리 / zip.html

파일 및 디스크 관리원문등록 2026-10-18

💬 "zip 명령어"

zip은 윈도우에서도 바로 열리는 압축 형식입니다. 리눅스–윈도우 간 파일 전달에 특히 편합니다.

디렉터리를 담을 때는 -r을 반드시 붙입니다.

  • 개념: 파일과 디렉터리를 zip 형식으로 묶습니다.
  • 왼쪽 인자: 만들 압축 파일 이름입니다.
  • 오른쪽 인자: 압축할 파일/디렉터리 목록입니다.
  • 진행 표시: 기본으로 파일마다 압축률을 출력합니다.

자주 쓰는 옵션

옵션설명
-r디렉터리를 재귀적으로 담습니다 — 필수
-q진행 출력 없이 조용히 실행
-x '*.log'특정 패턴을 제외합니다
-e비밀번호를 걸어 암호화합니다
-9최대 압축률로 압축합니다

필수 명령어 조합 3가지

  • zip -r site-20261018.zip /var/www/html — 웹 루트를 zip으로 묶기
  • zip -rq release.zip . -x '*.log' -x 'cache/*' — 로그·캐시 제외하고 조용히 묶기
  • zip -r9 arch.zip src/ docs/ README.md — 최대 압축으로 산출물 묶기

💬 "자동화 스크립트에 넣는다면 어떻게 쓸까?"

실제 운영 중인 서버에서 자주 만나는 상황을 순서대로 정리했습니다.

1단계 · 묶을 대상 정리

대상 디렉터리로 이동하거나 절대 경로로 지정합니다.

cd /var/www && ls html

2단계 · 압축

재귀 옵션으로 묶고 제외 패턴을 지정합니다.

zip -rq /tmp/site-20261018.zip html -x '*.log'

3단계 · 검증

목록과 무결성을 확인합니다.

unzip -l /tmp/site-20261018.zip | tail -2

실무에서는 이렇게 씁니다

1. 윈도우 담당자에게 전달

상황 — 고객사가 리눅스 압축(tgz)을 풀 수 없어 zip이 필요합니다.

zip -r delivery-20261018.zip report/ data.xlsx

결과 — 윈도우에서 바로 열 수 있는 zip이 생성됩니다.

포인트 — 한글 파일명이 있으면 인코딩 문제가 생길 수 있어 -UN=UTF8 대신 기본값 사용 여부를 확인합니다.

2. 부분 백업

상황 — 업로드 폴더만 zip으로 백업하고 싶습니다.

zip -rq /backup/uploads-20261018.zip /var/www/html/uploads

결과 — 업로드 파일만 담긴 압축 파일이 만들어집니다.

포인트 — 대용량은 tar+gzip이 더 빠른 경우가 많습니다. 호환성이 필요할 때만 zip을 씁니다.

주의할 점

  • -r을 빼면 디렉터리가 비어 있는 채로 담깁니다(가장 흔한 실수).
  • zip은 권한/소유자 정보를 완전히 보존하지 않습니다. 서버 복구용은 tar를 씁니다.
  • 암호화(-e)는 취약할 수 있어 민감 정보는 별도 암호화 도구를 씁니다.

실제 실행 화면

압축 파일 목록과 크기를 확인한 결과입니다.

zip 명령어 실행 결과: 압축 파일 목록과 크기

실제 운영 중인 서버

이 문서는 화면 표시용 가상 디렉터리의 항목입니다. 실제 서버 파일시스템과 연결되지 않으며, 파일 실행이나 시스템 명령을 수행하지 않습니다.