본문 바로가기
컴퓨터 활용(한글, 오피스 등)/50_2.운영체제_리눅스

Linux zip/unzip 으로 압축하고 해제하기

by 3604 2023. 11. 28.
728x90

출처: https://www.lesstif.com/lpt/linux-zip-unzip-80248839.html

 

 

다른 압축 프로그램 사용법은 linux 용 압축 프로그램 - gzip/gunzip, bzip2/bunzip2, xz 사용법 을 참고하세요.

 

zip

zip 은 여러 파일을 묶고 압축할 수 있는 유틸리티로 tar 와는 달리 아카이빙과 압축을 같이 할 수 있습니다. 

하위 디렉터리 압축

하위 디렉터리를 포함하는 압축 옵션인 -r 을 사용해서 compressed.zip 파일에 /path/to/dir 내용을 압축합니다.

zip -r compressed.zip /path/to/dir
Bash
Copy
BASH

 

여러 소스 압축

dir1, dir2, file3 세 개의 소스를 압축합니다.

zip -r compressed.zip /path/to/dir1 /path/to/dir2 /path/to/file3
Bash
Copy
BASH

 

zip 에 내용 추가

이미 존재하는 zip 파일에 새로운 파일 추가합니다.

zip compressed.zip path/to/file
Bash
Copy
BASH

 

특정 폴더 제외

특정 폴더를 제외하려면 -x 옵션을 사용하며 아래는 .git 폴더는 빼고 압축합니다. (.git 앞뒤에 

 이 있는걸 주의하세요)

zip -9 -r compressed.zip /path/to/dir -x '*.git*'
Bash
Copy
BASH

 

unzip

unzip  zip 으로 압축된 파일을 푸는 명령어입니다.

압축내 목록 보기

압축을 해제(❌)하지 않고 압축 파일내의 목록만 출력합니다.

unzip -l compressed.zip 
Bash
Copy
BASH

 

압축 해제

현재 폴더에 압축 해제합니다.

unzip compressed.zip 
Bash
Copy
BASH

 

특정 폴더에 해제

압축이 풀릴 대상을 지정하는 -d 옵션을 사용하면 원하는 폴더에 압축을 해제할 수 있습니다.

unzip compressed.zip  -d /path/to/put
Bash
Copy
BASH

 

여러 파일 압축 해제

unzip 은 file globing 을 제대로 지원하지 않아서 다음과 같이 사용할 수가 없습니다.

unzip *.zip  -d /path/to/put
Bash
Copy
BASH

 

여러 파일 압축 해제가 필요할 경우 bash 의 for 함수를 이용해서 간단하게 처리할 수 있습니다.

for i in *.zip; do unzip $i -d /path/to/put;done
Bash
Copy
BASH

 

주요 옵션

zip

  • -r  : 디렉터리까지 압축
  • -1: 빠른 압축(압축률 ⬇)
  • -9: 높은 압축률 (속도 ⬇)
  • -e: zip 파일에 암호 설정
  • -x: 압축시 파일 제외

unzip

  • -d: 지정한 디렉터리에 압축 해제
  • -l: 압축 파일내 목록 보기

같이 보기

Ref

728x90