SW/리눅스

Linux : 압축 파일을 푸는 방법, 명령어, 예제

얇은생각 2020. 12. 29. 07:30
반응형

ZIP는 무손실 데이터 압축을 지원하는 가장 널리 사용되는 아카이브 파일 형식입니다. ZIP 파일은 하나 이상의 압축 파일 또는 디렉터리를 포함하는 데이터 컨테이너입니다.

이 튜토리얼에서는 unzip 명령을 사용하여 명령줄을 통해 Linux 시스템에서 파일의 압축을 푸는 방법에 대해 설명합니다.

 

Linux : 압축 파일을 푸는 방법, 명령어, 예제

 

unzip 설치

unzip은 대부분의 Linux 배포에 기본적으로 설치되지 않지만 배포의 패키지 관리자를 사용하여 쉽게 설치할 수 있습니다.

 

 

 

Ubuntu 및 Debian에 unzip 설치

sudo apt install unzip

 

 

 

CentOS 및 Fedora에 unzip 설치

sudo yum install unzip

 

 

 

ZIP 파일의 압축을 푸는 방법

가장 간단한 형식에서 unzip 명령은 지정된 ZIP 아카이브에서 현재 디렉토리로 모든 파일을 추출합니다.

예를 들어 Wordpress 설치 ZIP 파일을 다운로드했다고 가정해 보겠습니다. 이 파일의 압축을 현재 디렉터리에 풀려면 다음 명령을 실행하기만 하면 됩니다.

unzip latest.zip

 

 

ZIP 파일은 Linux 형식의 소유권 정보를 지원하지 않습니다. 추출된 파일은 명령을 실행하는 사용자가 소유합니다.

ZIP 보관 파일을 추출할 디렉터리에 대한 쓰기 권한이 있어야 합니다.

 

 

 

unzip 명령의 출력을 표시하지 않는 방법

기본적으로 압축을 해제하면 압축을 푸는 모든 파일의 이름과 압축을 풀 때 요약이 인쇄됩니다.

-q 스위치를 사용하여 이러한 메시지를 인쇄하지 않습니다.

unzip -q filename.zip

 

 

 

ZIP 파일의 압축을 다른 디렉토리에 풀기

ZIP 파일의 압축을 현재 디렉토리가 아닌 다른 디렉토리로 해제하려면 -d 스위치를 사용합니다.

unzip -P PasswOrd filename.zip

 

 

 

예를 들어 WordPress 아카이브의 최신 압축을 해제하려면 다음을 수행합니다.zip /var/varw/ 디렉토리에 다음 명령을 사용합니다.

sudo unzip latest.zip -d /var/www

 

 

위의 명령에서는 일반적으로 로그인한 사용자가 /var/www 디렉토리에 대한 쓰기 권한이 없기 때문에 sudo를 사용하고 있습니다. sudo를 사용하여 ZIP 파일의 압축을 해제하면 추출된 파일과 디렉터리가 사용자 루트에 의해 소유됩니다.

 

 

 

암호로 보호된 ZIP 파일의 압축 풀기

암호로 보호된 파일의 압축을 해제하려면 unzip 명령을 -P 옵션과 함께 암호로 호출합니다.

unzip -P PasswOrd filename.zip

 

 

명령줄에 암호를 입력하는 것은 안전하지 않으므로 사용하지 않도록 해야 합니다. 더 안전한 옵션은 암호를 제공하지 않고 파일을 정상적으로 추출하는 것입니다. ZIP 파일이 암호화되어 있으면 unzip에서 암호를 입력하라는 메시지가 표시됩니다.

unzip filename.zip

# archive:  filename.zip
# [filename.zip] file.txt password: 

 

 

unzip은 암호화된 모든 파일에 대해 올바른 암호를 사용합니다. 

 

 

 

ZIP 파일의 압축을 해제할 때 파일 제외

특정 파일 또는 디렉토리를 추출에서 제외하려면 -x 옵션과 함께 추출에서 제외할 공백으로 구분된 아카이브 파일 목록을 사용합니다.

unzip filename.zip -x file1-to-exclude file2-to-exclude

 

 

다음 예에서는 .git 디렉토리를 제외한 모든 파일 및 디렉토리를 ZIP 아카이브에서 추출합니다.

unzip filename.zip -x "*.git/*"

 

 

 

기존 파일을 덮어쓰기

ZIP 파일의 압축을 이미 풀었으며 동일한 명령을 다시 실행하고 있다고 가정해 보겠습니다.

unzip latest.zip

 

 

기본적으로 unzip은 현재 파일만 덮어쓸지, 모든 파일을 덮어쓸지, 현재 파일의 압축을 건너뛸지, 모든 파일의 압축을 건너뛸지, 또는 현재 파일의 이름을 바꿀지 묻는 메시지를 표시합니다.

Archive:  latest.zip
replace wordpress/xmlrpc.php? [y]es, [n]o, [A]ll, [N]one, [r]ename:

 

 

확인하지 않고 기존 파일을 덮어쓰려면 -o 옵션을 사용합니다.

unzip -o filename.zip

 

 

이 옵션을 주의하여 사용합니다. 파일을 변경하면 변경 내용이 손실됩니다.

 

 

 

기존 파일을 덮어쓰지 않고 ZIP 파일의 압축 풀기

ZIP 파일의 압축을 이미 풀고 일부 파일을 변경했지만 실수로 몇 개의 파일을 삭제했다고 가정해 보겠습니다. 변경 사항을 유지하고 ZIP 아카이브에서 삭제된 파일을 복원하려고 합니다.

이 경우 이미 있는 파일의 압축을 강제로 해제하는 -n 옵션을 사용합니다.

unzip -n filename.zip

 

 

 

여러 ZIP 파일의 압축 풀기

정규식을 사용하여 여러 아카이브와 일치시킬 수 있습니다.

예를 들어 현재 작업 디렉토리에 ZIP 파일이 여러 개 있는 경우 다음 명령만 사용하여 모든 파일의 압축을 해제할 수 있습니다.

unzip '*.zip'

 

 

 

*.zip 주위에 작은 따옴표를 기록합니다. 인수의 따옴표를 잊어버린 경우 셸에서 와일드카드 문자를 확장하고 오류가 발생합니다.

 

 

 

Zip 파일의 내용 나열

ZIP 파일의 내용을 나열하려면 -l 옵션을 사용합니다.

unzip -l filename.zip

 

 

아래 예에서는 모든 WordPress 설치 파일을 나열합니다.

unzip -l latest.zip

 

 

출력은 다음과 같습니다.

# Archive:  latest.zip
#   Length      Date    Time    Name
# ---------  ---------- -----   ----
#         0  2018-08-02 22:39   wordpress/
#      3065  2016-08-31 18:31   wordpress/xmlrpc.php
#       364  2015-12-19 12:20   wordpress/wp-blog-header.php
#      7415  2018-03-18 17:13   wordpress/readme.html
# ...
# ...
#     21323  2018-03-09 01:15   wordpress/wp-admin/themes.php
#      8353  2017-09-10 18:20   wordpress/wp-admin/options-reading.php
#      4620  2017-10-24 00:12   wordpress/wp-trackback.php
#      1889  2018-05-03 00:11   wordpress/wp-comments-post.php
# ---------                     -------
#  27271400                     1648 files
반응형