Ubuntu 22.04 Server / ZIP 압축 파일 푸는 방법

Ubuntu 22.04 Server에서 ZIP 파일을 풀려면 unzip을 설치한 뒤 unzip example.zip을 실행합니다. 기본적으로 현재 작업 디렉터리에 압축 파일의 내용이 풀리며, -d 옵션으로 다른 위치를 지정할 수 있습니다.

unzip 설치와 파일 위치 확인

unzip은 ZIP 압축 파일의 내용을 확인하고 압축을 해제하는 명령입니다. 먼저 설치 여부를 확인하고, 명령을 찾을 수 없다면 패키지를 설치합니다. 패키지 목록 갱신과 설치에는 관리자 권한과 패키지 저장소에 대한 접근이 필요합니다.

unzip -v
sudo apt update
sudo apt install unzip

압축을 풀기 전에 pwd로 현재 위치를 확인하고 ls로 ZIP 파일이 있는지 살펴보세요. 아래 예제의 example.zip은 실제 파일명 또는 경로로 바꿉니다. 파일명에 공백이 있다면 "my archive.zip"처럼 따옴표로 감싸세요.

목록 확인과 기본 압축 해제

다음 명령은 압축을 풀지 않고 파일 목록을 보여 줍니다. 이름과 크기, 폴더 구조를 확인해 어디에 풀릴지 살펴보세요.

unzip -l example.zip

현재 디렉터리에 풀려면 다음 명령을 실행합니다. ZIP에 저장된 하위 폴더가 있으면 해당 구조도 함께 만들어집니다. 같은 이름의 파일이 이미 있으면 기본적으로 덮어쓸지 묻습니다.

unzip example.zip

완료 후 ls로 결과를 확인하세요. ZIP 내부에 최상위 폴더가 없다면 여러 파일이 현재 디렉터리에 바로 생길 수 있으므로, 기존 파일과 섞이지 않게 별도 위치에 푸는 편이 편리합니다.

원하는 폴더에 풀기

-d 뒤에 압축을 풀 위치를 지정합니다. 다음 예제는 쓰기 권한이 있는 output 디렉터리를 준비한 뒤 그 안에 풉니다.

mkdir -p output
unzip example.zip -d output
ls output

압축 파일에 저장된 폴더 구조는 output 아래에 유지됩니다. 경로를 다른 곳으로 바꿀 때는 해당 위치에 파일을 만들 권한과 충분한 저장 공간이 있는지 확인하세요. 자신의 파일을 푸는 데 보통 sudo는 필요하지 않습니다.

덮어쓰기와 일부 파일 추출

이미 같은 이름의 파일이 있을 때 확인 없이 건너뛰려면 -n을 사용합니다. 압축 파일의 내용이 최신이어도 기존 파일은 유지되므로, 결과가 기대한 내용인지 확인하세요.

unzip -n example.zip -d output

-o는 확인 없이 같은 이름의 파일을 덮어쓰므로, 기존 파일을 바꿔도 되는 상황에서만 주의해 사용합니다. 압축 파일 전체가 아니라 특정 파일만 필요하다면 ZIP 내부의 정확한 경로를 파일명 뒤에 지정할 수 있습니다.

unzip example.zip "docs/readme.txt" -d output

목록에서 docs/readme.txt가 실제로 존재하는지 먼저 확인하세요. 와일드카드를 사용할 때는 셸이 먼저 확장하지 않도록 패턴을 따옴표로 감싸는 것이 중요합니다.

오류가 발생하면

압축 데이터의 오류를 확인하려면 다음 명령을 실행합니다. -t는 각 항목을 메모리에서 풀고 그 내용으로 계산한 CRC 값을 저장된 값과 비교합니다. 오류가 없다는 결과가 나오는지 확인하세요. 이 검사는 파일이 신뢰할 수 있거나 악성 내용이 없다는 뜻은 아닙니다.

unzip -t example.zip
  • 파일을 찾을 수 없음: 현재 위치와 파일명, 대소문자와 경로를 확인합니다.
  • 권한 오류 또는 공간 부족: 대상 디렉터리의 쓰기 권한과 남은 공간을 확인하고, 필요한 경우 쓰기 가능한 다른 폴더를 선택합니다.
  • 손상되었거나 지원되지 않는 압축: 다운로드가 완료됐는지 확인하고 원본을 다시 받습니다. 암호화나 압축 방식에 따라 설치된 도구가 지원하지 않을 수도 있습니다.
  • 파일명이 깨짐: ZIP을 만든 환경의 문자 인코딩과 사용하는 도구의 지원 여부를 확인합니다. 원본을 UTF-8 파일명으로 다시 만든 파일이 있다면 비교해 보세요.

출처를 알 수 없는 ZIP은 먼저 목록을 확인하고 별도의 디렉터리에 풉니다. 목록 확인과 무결성 검사는 보안 검사 전체를 대신하지 않으며, 압축을 푼 스크립트나 실행 파일은 내용을 확인하기 전 실행하지 마세요. 옵션 전체는 unzip -h 또는 Ubuntu 22.04 unzip 설명서에서 확인할 수 있습니다.