본문 바로가기
개발/linux

linux zip 사용법(파일/디렉터리 압축, 패턴/정규식 적용), 설명

by amkorousagi 2022. 10. 21.

linux zip

사용하는 이유

파일들을 모으고 압축하여 보관하기 위해

기본 사용법(디렉터리 압축)

zip -r <zip file name> <directory>
zip -r <zip file name> <directory 1> <directory 2> ... <directory n>

-r : recursive 하위 디렉터리의 콘텐츠들에 대해서도 전부 재귀적으로 zip

 

기본 사용법(파일 압축)

zip <zip file name> <file>
zip <zip file name> <file 1> <file 2> ... <file n>

특정 확장자만 압축

zip myarchive '*.[hc]'

. h와. c 파일들만 myarchive.zip에 압축

패턴에 일치하는 것만 압축

zip myarchive '*.[a-z]?[!b]'
zip myimagechive '*.png' '*.jpg'
zip <zip file name> <pattern 1> <pattern 2> ... <pattern n>

패턴은 ""으로 감싸야되는지 ''로 감싸야되는지 안 감싸도 되는지는 실행환경에 따라 다를 수 있다.

*는 모든 길이의 임의의 문자열에 대응한다.

? 는 하나의 임의의 문자의 대응한다.

[]는 []의 안쪽에 쓰인 조건에 맞는 하나의 문자에 대응한다.

[] 안 에는 - 가 올 수 있다. -는 앞뒤 두 문자 사이의 모든 문자를 허용한다는 의미이다. (예:[0-9], [a-z])

[] 안 에는! 가 올 수 있다.! 는 뒤에 오는 문자를 허용하지 않는다는 의미이다.

[] 안 에는 문자들이 올 수 있다. 해당 문자들을 허용한다는 의미이다. (예:[hc])

그 외 일반적인 정규식(regex)에서 쓰는 것들은 대체적으로 가능하다.

linux man page 설명

zip - package and compress (archive) files
The program is useful for packaging a set of files for distribution; for archiving files; and for saving disk space by temporarily compressing unused files or directories.
zip is a compression and file packaging utility for Unix, VMS, MSDOS, OS/2, Windows 9x/NT/XP, Minix, Atari, Macintosh, Amiga, and Acorn RISC OS. It is analogous to a combination of the Unix commands tar(1) and compress(1) and is compatible with PKZIP (Phil Katz's ZIP for MSDOS systems).

+ 4GB보다 큰 파일이 아카이브(보관용 zip 파일)에 추가되거나 아카이브 크기가 4GB를 초과하면 zip은 자동적으로 Zip 64 확장자를 사용한다

+ input 및 output을 streaming 할 수 있다.(pipe " | "를 통해)

(해석)

zip - 파일을 포장하고 압축한다(파일을 아카이브 한다)

 

zip은 파일들을 배포를 하는 것에 대해 보관하는 것에 대해 그리고 일시적으로 사용하지 않는 파일 및 디렉터리를 압축함으로써 디스크 공간을 절약하는 것에 대해 유용합니다.

 

zip는 Unix, VMS, MSDOS, OS/2, Windows 9x/NT/XP, Minix, Atari, Macintosh, Amiga, and Acorn RISC OS를 위한 파일 패키지와 압축 유틸리티입니다. 그것은 tar(파일 패캐지 명령어)과 compress(압축 명령어)의 조합과 유사합니다. 그리고  PKZIP(Phil Katz's ZIP for MSDOS systems)와 호환됩니다.

 

관련 명령어 : tar, compress, 7z

 

출처:

 

 

zip(1): package/compress files - Linux man page

zip(1) - Linux man page Name zip - package and compress (archive) files Synopsis zip [-aABcdDeEfFghjklLmoqrRSTuvVwXyz!@$] [--longoption ...] [-b path] [-n suffixes] [-t date] [-tt date] [zipfile [file ...]] [-xi list] zipcloak (see separate man page) zipno

linux.die.net

 

댓글