개요
리눅스 환경에서 ZIP 파일 압축 해제 시 자주 사용하는 unzip 명령어의 기본 사용법과 실무 필수 옵션을 소개합니다. 파일 목록 미리보기, 특정 폴더 지정 해제, 윈도우 파일 한글 인코딩 깨짐 해결 방법까지 단계별로 안내합니다.
unzip 패키지 설치 및 테스트 압축 파일 준비
Ubuntu 환경에서 압축 파일 해제 및 생성을 진행하기 위해 sudo apt-get update -qq && sudo apt-get install -y unzip zip 명령어로 필요한 패키지를 설치합니다.

실습 전용 작업 공간을 생성하고 해당 디렉터리로 이동하기 위해 mkdir -p ~/unzip-demo && cd ~/unzip-demo 명령어를 실행합니다.

압축 테스트에 사용할 예제 텍스트 및 설정 파일을 생성하기 위해 echo 'Hello Linux' > file1.txt && echo 'Config Content' > config.cfg 명령어를 실행합니다.

실습용 예제 파일들을 하나로 묶어 압축 파일을 생성하기 위해 zip -r sample.zip file1.txt config.cfg 명령어를 실행합니다.

압축 해제 없이 내용물 미리보기 (unzip -l)
실습 파일이 위치한 작업 디렉터리로 이동하기 위해 cd ~/unzip-demo 명령어를 실행합니다.

unzip -l sample.zip 명령어는 압축을 실제로 풀지 않고 아카이브 내부에 포함된 파일 목록과 각 파일의 크기, 수정 일자를 미리 확인합니다.
대용량 압축 파일을 해제하기 전에 내부 구조와 필요한 디스크 공간을 안전하게 점검할 때 유용합니다.

원하는 디렉터리에 압축 풀기 및 기존 파일 덮어쓰기 제어 (unzip -d, -o)
실습 대상 압축 파일이 위치한 작업 디렉터리로 이동하기 위해 cd ~/unzip-demo 명령어를 실행합니다.

압축을 해제한 파일들을 따로 보관할 목적지 디렉터리를 생성하기 위해 mkdir -p ./extracted 명령어를 실행합니다.

unzip sample.zip -d ./extracted 명령어는 -d 옵션으로 지정한 ./extracted 디렉터리에 아카이브 파일의 내용물을 해제합니다.
현재 작업 디렉터리를 어지럽히지 않고 원하는 특정 위치에 파일을 깔끔하게 정리하여 풀 때 유용합니다.

unzip -o sample.zip -d ./extracted 명령어는 기존 파일이 이미 존재하더라도 사용자 확인 프롬프트 없이 강제로 덮어쓰며 압축을 해제합니다.
스크립트나 자동화 배포 환경에서 중복 파일 덮어쓰기 질문으로 인해 실행이 멈추는 현상을 방지할 때 주로 사용합니다.

목적지 디렉터리에 압축 해제가 정상적으로 완료되었는지 파일 목록과 세부 속성을 확인하기 위해 ls -la ./extracted 명령어를 실행합니다.

특정 파일만 골라서 압축 해제하기
실습 대상 압축 파일이 위치한 작업 디렉터리로 이동하기 위해 cd ~/unzip-demo 명령어를 실행합니다.

선택적으로 압축 해제할 파일을 따로 보관할 목적지 디렉터리를 생성하기 위해 mkdir -p ./selective 명령어를 실행합니다.

unzip sample.zip file1.txt -d ./selective 명령어는 압축 아카이브 전체를 풀지 않고 지정한 file1.txt 파일만 선택하여 추출합니다.
대용량 압축 파일에서 특정 설정 파일이나 필요한 로그 파일만 빠르게 꺼내어 확인할 때 매우 유용합니다.

지정한 파일만 선택적으로 추출되었는지 목적지 디렉터리의 파일 목록과 세부 속성을 확인하기 위해 ls -la ./selective 명령어를 실행합니다.

윈도우에서 압축한 파일의 한글 깨짐 방지 (unzip -O CP949)
실습 대상 압축 파일이 위치한 작업 디렉터리로 이동하기 위해 cd ~/unzip-demo 명령어를 실행합니다.

압축 해제된 파일들을 안전하게 보관할 목적지 디렉터리를 생성하기 위해 mkdir -p ./korean-test 명령어를 실행합니다.

unzip -O CP949 sample.zip -d ./korean-test 명령어는 Windows 환경의 기본 문자 인코딩인 CP949(EUC-KR)를 지정하여 한글 파일명 깨짐 현상 없이 ./korean-test 디렉터리에 압축을 해제합니다.
Windows와 Linux 시스템 간의 문자셋 차이로 인해 발생하는 파일명 깨짐 문제를 깔끔하게 해결할 수 있습니다.

지정한 목적지 디렉터리에 파일들이 정상적으로 압축 해제되었는지 확인하기 위해 ls -la ./korean-test 명령어를 실행합니다.

지금까지 리눅스 환경에서 unzip 명령어를 활용한 기본 압축 해제부터 한글 깨짐 해결 방법까지 실무 핵심 팁을 간단하게 정리해보았습니다.
알려드린 옵션들을 잘 활용하셔서 터미널 작업 시 인코딩 문제없이 효율적으로 압축 파일을 다뤄보시기 바랍니다.