오늘의 인기 글
최근 글
최근 댓글
Today
Total
05-19 08:40
관리 메뉴

우노

[Linux] zip/unzip 압축 및 압축해제 본문

Operating System/Linux & Ubuntu

[Linux] zip/unzip 압축 및 압축해제

운호(Noah) 2021. 5. 20. 19:44

zip

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

하위 디렉토리 압축

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

      zip -r compressed.zip /path/to/dir

여러 소스 압축

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

      zip -r compressed.zip /path/to/dir1 /path/to/dir2 /path/to/file3

zip 에 내용 추가

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

      zip compressed.zip path/to/file

특정 폴더 제외

  • 특정 폴더를 제외하려면 -x 옵션을 사용하며, 아래 예제는 .git 폴더를 빼고 압축하는 예제입니다.

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

unzip

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

압축내 목록 보기

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

      unzip -l compressed.zip

압축 해제

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

      unzip compressed.zip

특정 폴더에 해제

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

      unzip compressed.zip -d /path/to/put

여러 파일 압축 해제

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

      for i in *.zip; do unzip $i -d /path/to/put;done
  • unzip 은 file globing 을 제대로 지원하지 않아서 아래와 같이 사용할 수 없습니다.

      unzip *.zip  -d /path/to/put

주요 옵션

  • zip

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

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

참고

Comments