Linux / 명령어 / zip - 여러 파일을 ZIP 아카이브로 묶기
zip은 파일과 디렉터리를 하나의 ZIP 아카이브로 묶고 압축합니다. 다른 운영체제와 파일을 주고받을 때 자주 사용하는 형식입니다.
zip 명령어란?
첫 번째 인수는 만들거나 갱신할 ZIP 파일이고 뒤의 인수는 포함할 파일입니다. 디렉터리 안의 파일까지 담으려면 -r을 지정합니다. 이미 있는 ZIP 파일을 대상으로 실행하면 새 아카이브를 무조건 새로 만드는 것이 아니라 기존 항목을 갱신·추가할 수 있으므로 작업 의도를 먼저 확인하세요.
기본 문법
zip [옵션] 아카이브.zip 파일 또는 디렉터리 ...
설치된 구현과 옵션은 배포판에 따라 다를 수 있습니다. man zip으로 현재 시스템의 설명을 확인하세요.
사용 예제
두 파일 묶기
기존 파일이 없는 새 ZIP 이름을 선택합니다.
zip documents.zip report.txt notes.txt
디렉터리 전체 압축
-r로 하위 디렉터리와 파일을 포함합니다.
zip -r project.zip project/
생성한 아카이브 확인
압축 후 unzip -l로 파일 목록을 검토합니다.
unzip -l project.zip
ZIP 파일에 무엇이 들어갔는지 확인하기
zip은 여러 파일을 하나의 ZIP 아카이브에 넣을 수 있습니다. -q는 추가 과정을 조용히 하고, 목록 조회는 별도 명령으로 수행합니다.
printf 'hello\n' > note.txt zip -q bundle.zip note.txt unzip -Z -1 bundle.zip
예시 출력:
note.txt
목록에 이름이 있다고 해서 압축 파일의 무결성까지 확인된 것은 아닙니다. unzip -t bundle.zip로 구조를 검사할 수 있습니다. 비밀번호를 사용한 ZIP의 기본 암호화는 민감한 정보를 보호하는 데 충분하지 않을 수 있으므로 보안 목적이라면 적절한 암호화 방식을 별도로 선택하세요.
주요 옵션과 형식
| 옵션·형식 | 설명 |
|---|---|
-r |
디렉터리의 하위 항목을 재귀적으로 포함합니다. |
-0 |
압축하지 않고 파일을 저장합니다. |
-1 ... -9 |
압축 수준을 선택합니다. |
-u |
기존 아카이브에서 변경된 파일을 갱신합니다. |
-x 패턴 |
일치하는 경로를 제외합니다. |
사용할 때 주의할 점
기존 ZIP 파일을 재사용하면 구성 내용이 예상과 다르게 갱신될 수 있으므로 새 이름으로 만들거나 먼저 백업하세요. 일반적인 ZIP 암호 옵션은 강한 보안 수단으로 가정하지 말고 민감한 데이터에는 적절한 암호화 도구를 선택하세요. ZIP 형식은 플랫폼 간 권한·소유권 같은 메타데이터 보존이 동일하지 않을 수 있습니다.
자주 묻는 질문
zip project.zip project/만으로 폴더 안의 파일이 모두 들어가나요?
아니요. 디렉터리 내용을 재귀적으로 포함하려면 보통 zip -r project.zip project/을 사용합니다.
공식 문서
옵션의 정확한 동작과 구현별 차이는 zip 관련 공식 문서에서 확인할 수 있습니다.









