SW/리눅스

Linux : 파일, 디렉토리 압축 방법, 예제, 명령어

얇은생각 2021. 7. 6. 07:30
반응형

Zip은 무손실 데이터 압축을 지원하는 가장 널리 사용되는 아카이브 파일 형식입니다.

Zip 파일은 하나 이상의 압축 파일 또는 디렉토리를 포함하는 데이터 컨테이너입니다. 압축 (ZIP) 파일은 디스크 공간을 덜 차지하며 압축되지 않은 파일보다 더 빠르게 한 시스템에서 다른 시스템으로 전송할 수 있습니다. Zip 파일은 모든 운영 체제에서 사용할 수있는 유틸리티를 사용하여 Windows, macOS Linux에서 쉽게 추출 할 수 있습니다.

zip 명령을 사용하여 Linux에서 파일과 디렉토리를 압축 (압축)하는 방법을 보여줍니다.

 

 

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

 

반응형