1) zip, unzip 명령어 개요 및 기본 사용법
리눅스 환경에서 파일을 다루다 보면 백업이나 전송을 위해 압축 파일(.zip)을 생성하거나 해제해야 하는 상황을 자주 마주하게 되는데요. tar나 gzip 외에도 윈도우즈와 가장 호환성이 좋은 포맷이 바로 zip입니다. 서버 관리나 개발 작업 중 터미널에서 간편하게 파일을 묶고 풀 수 있는 핵심 유틸리티인 zip과 unzip의 기본 구조를 살펴보겠습니다.

리눅스 환경에서 터미널을 통해 zip과 unzip 명령어를 활용하는 모습
기본적인 명령어 구문은 아래와 같습니다. 대상 파일이나 디렉토리를 지정하여 곧바로 실행할 수 있어서 참 직관적이더라고요.
# 파일 압축하기
zip [옵션] [압축파일이름.zip] [대상파일]
# 파일 압축 해제하기
unzip [옵션] [압축파일이름.zip]
sudo apt install zip unzip 명령어로, 레드햇/CentOS 계열에서는 sudo yum install zip unzip 명령어로 손쉽게 설치할 수 있습니다.2) 주요 옵션 리스트
상황에 맞게 옵션을 조합해 사용하면 훨씬 효율적인 작업이 가능합니다. 자주 쓰이는 필수 옵션들을 정리해 두었으니 필요할 때 참고해 보세요.
- -r (recursive): 디렉토리 내부의 하위 파일과 폴더까지 모두 포함해서 재귀적으로 압축할 때 사용합니다.
- -v (verbose): 압축이나 해제 과정을 상세한 로그 메시지로 출력하여 진행 상황을 눈으로 확인할 수 있게 합니다.
- -e (encrypt): 압축 파일에 비밀번호(패스워드)를 설정하여 보안을 강화합니다.
- -d (directory): unzip 명령어와 함께 쓰이며, 압축을 해제할 특정 디렉토리 경로를 지정할 때 사용합니다.
- -l (list): 압축 파일을 실제로 풀지 않고 내부 파일 목록만 조회합니다.
3) 명령어 실습 예시
실제 터미널 환경에서 명령어를 입력했을 때 어떤 식으로 동작하는지 표준 출력(stdout) 결과를 바탕으로 확인해 보겠습니다.
$ zip -r archive.zip my_folder/
adding: my_folder/ (stored 0%)
adding: my_folder/test.txt (deflated 15%)
adding: my_folder/image.png (stored 0%)
$ unzip archive.zip -d /var/www/html/
Archive: archive.zip
inflating: /var/www/html/my_folder/
inflating: /var/www/html/my_folder/test.txt
inflating: /var/www/html/my_folder/image.png
위와 같이 -r 옵션을 통해 디렉토리 전체가 깔끔하게 archive.zip으로 압축되고, -d 옵션을 통해 원하는 경로에 정확히 해제되는 것을 볼 수 있어서 실패 없는 조합이라 자신 있게 권해드립니다.
unzip -O CP949 filename.zip 형태로 인코딩 옵션을 지정해주어야 깨짐 없이 정상적으로 해제됩니다.4) 응용/추가 기능 활용법
기본적인 압축 외에도 실무에서 유용하게 쓰이는 응용 팁들이 몇 가지 있습니다. 비밀번호가 걸린 압축 파일을 만들거나, 특정 파일만 골라서 해제하고 싶을 때 유용합니다.
# 비밀번호를 포함한 암호화 압축 생성
$ zip -e secure.zip sensitive_data.txt
# 압축 파일 전체를 풀지 않고 내부 목록만 확인
$ unzip -l archive.zip
이 기능들을 적절히 활용하면 서버 관리 시 보안성을 높이고 필요한 파일만 빠르게 추출할 수 있어서 작업 속도가 눈에 띄게 빨라지더라고요.
❓ 자주 묻는 질문 (FAQ)
네, 디렉토리 내부에 있는 파일과 하위 폴더까지 재귀적으로 탐색하여 압축하려면 반드시 -r 옵션을 포함해야 정상적으로 아카이빙이 진행됩니다.
unzip 명령어 실행 시 -o 옵션을 사용하면 사용자 확인 없이 기존 파일을 강제로 덮어씌울 수 있습니다.






































