Zip은 무손실 데이터 압축을 지원하는 가장 널리 사용되는 아카이브 파일 형식입니다.
Zip 파일은 하나 이상의 압축 파일 또는 디렉토리를 포함하는 데이터 컨테이너입니다. 압축 (ZIP) 파일은 디스크 공간을 덜 차지하며 압축되지 않은 파일보다 더 빠르게 한 시스템에서 다른 시스템으로 전송할 수 있습니다. Zip 파일은 모든 운영 체제에서 사용할 수있는 유틸리티를 사용하여 Windows, macOS 및 Linux에서 쉽게 추출 할 수 있습니다.
zip 명령을 사용하여 Linux에서 파일과 디렉토리를 압축 (압축)하는 방법을 보여줍니다.
zip 명령
zip은 Zip 아카이브를 만드는 데 도움이되는 명령 줄 유틸리티입니다.
zip 명령은 다음 구문 형식을 사용합니다.
zip OPTIONS ARCHIVE_NAME FILES
특정 디렉토리에 Zip 아카이브를 만들려면 사용자에게 해당 디렉토리에 대한 쓰기 권한이 있어야합니다.
Zip 파일은 Linux 스타일 소유권 정보를 지원하지 않습니다. 추출 된 파일은 명령을 실행하는 사용자가 소유합니다. 파일 소유권 및 권한을 유지하려면 tar 명령을 사용하십시오.
zip 유틸리티는 대부분의 Linux 배포에서 기본적으로 설치되지 않지만 배포 패키지 관리자를 사용하여 쉽게 설치할 수 있습니다.
Ubuntu 및 Debian에 zip 설치
sudo apt install zip
CentOS 및 Fedora에 zip 설치
sudo yum install zip
파일 및 디렉토리를 압축하는 방법
하나 이상의 파일을 압축하려면 아래와 같이 아카이브에 추가 할 파일을 공백으로 구분하여 지정하십시오.
zip archivename.zip filename1 filename2 filename3
# adding: filename1 (deflated 63%)
# adding: filename2 (stored 0%)
# adding: filename3 (deflated 38%)
기본적으로 zip 명령은 아카이브에 추가 된 파일의 이름과 압축 방법을 인쇄합니다. 이 가이드의 뒷부분에서 압축 방법과 수준에 대해 설명합니다.
아카이브 이름이 .zip으로 끝나지 않으면 아카이브 이름에 점이 포함되지 않는 한 확장자가 자동으로 추가됩니다. zip archivename.zip filename은 zip archivename filename과 동일한 이름의 아카이브를 생성합니다.
zip 명령의 출력을 억제하려면 -q 옵션을 사용하십시오.
zip -q archivename.zip filename1 filename2 filename3
종종 하위 디렉토리의 내용을 포함하는 디렉토리의 zip 아카이브를 만듭니다. -r 옵션을 사용하면 전체 디렉토리 구조를 재귀 적으로 탐색 할 수 있습니다.
zip -r archivename.zip directory_name
동일한 아카이브에 여러 파일 및 디렉토리를 추가 할 수도 있습니다.
zip -r archivename.zip directory_name1 directory_name2 file1 file1
압축 방법 및 수준
Zip의 기본 압축 방법은 deflate입니다. zip 유틸리티가 파일을 압축 할 수 없다고 판단하면 저장 방법을 사용하여 압축하지 않고 파일을 아카이브에 저장합니다. 대부분의 Linux 배포에서 zip 유틸리티는 bzip2 압축 방법도 지원합니다.
압축 방법을 지정하려면 -Z 옵션을 사용하십시오.
zip -r -Z bzip2 archivename.zip directory_name
# ...
# adding: sub_dir/ (stored 0%)
# adding: sub_dir/file1 (bzipped 52%)
# adding: sub_dir/file2 (bzipped 79%)
zip 명령을 사용하면 0에서 9까지의 대시가 앞에 붙은 숫자를 사용하여 압축 수준을 지정할 수 있습니다. 기본 압축 수준은 -6입니다. -0을 사용하면 모든 파일이 압축되지 않고 저장됩니다. -9는 zip 명령이 모든 파일에 대해 최적의 압축을 사용하도록합니다.
예를 들어 압축 수준 -9를 사용하려면 다음과 같이 입력합니다.
zip -9 -r archivename.zip directory_name
압축 수준이 높을수록 zip 프로세스는 CPU 집약적이며 완료하는 데 더 많은 시간이 걸립니다.
암호로 보호 된 ZIP 파일 만들기
아카이브에 저장해야하는 민감한 정보가있는 경우 -e 옵션을 사용하여 암호화 할 수 있습니다.
zip -e archivename.zip directory_name
# Enter password:
# Verify password:
이 명령은 아카이브 암호를 입력하고 확인하라는 메시지가 표시됩니다.
분할 Zip 파일 생성
파일 크기 업로드 제한이 1GB이고 Zip 아카이브가 5GB 인 파일 호스팅 서비스에 Zip 아카이브를 저장한다고 가정 해보십시오.
-s 옵션 뒤에 지정된 크기를 사용하여 새 분할 Zip 파일을 만들 수 있습니다. 승수는 k (킬로바이트), m (메가 바이트), g (기가 바이트) 또는 t (테라 바이트) 일 수 있습니다.
위의 명령은 지정된 크기 제한에 도달 한 후에도 세트에 새 아카이브를 계속 생성합니다.
zip -s 1g -r archivename.zip directory_name
# archivename.zip
# archivename.z01
# archivename.z02
# archivename.z03
# archivename.z04
zip 명령 예
현재 디렉토리의 모든 파일을 포함하는 이름이 archivename.zip 인 Zip 아카이브를 만듭니다.
zip archivename *
숨겨진 파일 (점으로 시작하는 파일)을 포함하여 위와 동일합니다.
zip archivename .* *
파일을 압축하지 않고 현재 디렉토리의 모든 MP3 파일을 포함하는 이름이 archivename.zip 인 Zip 아카이브를 만듭니다.
zip -0 archivename *.mp3
'SW > 리눅스' 카테고리의 다른 글
Linux : userdel로 사용자 삭제 방법, 예제, 명령어 (0) | 2021.07.08 |
---|---|
Debian 9 : OpenVPN Server 설정 방법, 예제, 명령어 (0) | 2021.07.07 |
Debian 9 : WildFly (JBoss) 설치 방법, 예제, 명령어 (0) | 2021.07.05 |
CentOS 7 : Drupal 설치 방법, 예제, 명령어 (0) | 2021.07.04 |
Ubuntu : RPM packages 설치 방법, 예제, 명령어 (0) | 2021.07.03 |