[리눅스] p7zip(7-Zip) 설치와 사용법
무른연모/리눅스
2012/01/24 16:55
p7zip는 리눅스에 설치하여 쓸 수 있는 7-Zip이다. 7-Zip답게 압축률이 높아서 zip나 tgz 방식보다 작은 파일을 만들어 낸다. 다만 파일 권한까지 담지 못하므로, p7zip만으로 서버(server)를 백업(backup)하는 것은 알맞지 않다.
CentOS에서처럼 yum을 쓸 수 있다면 p7zip을 손쉽게 깔 수 있다.
# sudo yum install p7zip
우분투(Ubuntu)라면 apt-get을 쓸 수 있다.
# sudo apt-get install p7zip
yum이나 apt-get을 쓰지 않는다면 http://p7zip.sourceforge.net/에서 안내하는 곳에서 p7zip의 바탕과 설치 스크립트가 묶인 파일(p7zip_9.20.1_src_all.tar.bz2)을 받아서 설치할 수 있다. (물론 운영체제 관리 권한이 있어야 p7zip를 깔 수 있다.)
1. 명령 형식
# 7za <명령변수> [<선택사항]> <압축 파일 이름> [<넣을 파일 이름>...] [<@목록 파일>...]
# 7za <command> [<switches>...] <archive_name> [<file_names>...] [<@listfiles...>]
# 7za <command> [<switches>...] <archive_name> [<file_names>...] [<@listfiles...>]
(1) 명령변수(command)
a: 압축 파일(archive)에 끼워넣음
b: 견주기(benchmark)
d: 압축 파일에서 지정한 파일을 지움
e: 한 경로에 모든 파일을 풂
l: 목록 보기
t: 압축 파일 시험하기 (무결성 검사)
u: 압축 파일에 파일을 갱신하여 넣음
x: 온전한 경로를 만들어 파일들을 풂
b: 견주기(benchmark)
d: 압축 파일에서 지정한 파일을 지움
e: 한 경로에 모든 파일을 풂
l: 목록 보기
t: 압축 파일 시험하기 (무결성 검사)
u: 압축 파일에 파일을 갱신하여 넣음
x: 온전한 경로를 만들어 파일들을 풂
(2) 선택사항(switch)
-ai[r[-|0]]{@listfile|!wildcard}: 지정한 압축 파일들을 포함함
-ax[r[-|0]{@listfile|!wildcard}: 지정한 압축 파일들을 제외함
-aoa: 모든 파일들을 덮어 씀
-aos: 이미 있는 파일은 덮어쓰지 않고 건너뜀
-aou: 이미 있는 파일을 만나면 숫자를 덧붙여 새 파일을 만들어 풂
-aot: 이미 있는 파일의 이름을 바꾸어 풂
-bd: 진행률을 나타내지 않음
-i[r[-|0]]{@listfile|!wildcard}: 지정한 파일 이름들을 포함함
-m{Parameters}: 압축 방법을 지정함
-m0=PPMd: PPMd 방식으로 압축함
-m0=lzma: LZMA 방식으로 압축함 (기본값)
-md={크기}: 사전 크기 (32MB로 설정할 때: -md=32m)
-mfb={크기}: LZMA fast byte 크기 (보기: -mfb=64)
-mhe=on|off: 압축 파일의 표제 정보(헤더, header) 부호 매김(encryptopm) [기본값은 꺼짐(off)]
-ms=on|off: 덩어리(solid) 압축 방식 켜고 끄기 (켤 때: -ms=on)
-mx0: 압축하지 않고 묶음
-mx1: 압축률 - 낮음
-mx3: 압축률 - 빠름(fast, 관련 변수들이 알아서 조정됨)
-mx5: 압축률 - 보통(normal)
-mx7: 압축률 - 높음(maximum, 기본값)
-mx9: 압축률 - 매우 높음(ultra, 메모리를 많이 씀)
-r : 하위 경로까지 적용함 주1
-o: 출력할 자료방을 설정함
-p{암호(password)} : 암호를 걺
-scs{UTF-8 | WIN | DOS}: 목록 파일의 문자코드를 지정함
-sfx[이름}]: 실행 파일로 만듦
-si[{이름]: 자료를 표준입력기(stdin)에서 읽음
-slt: 목록 명령을 위한 기술 정보를 보임
-so: 자료를 표준출력기(stdout)에 기록함
-ssc[-]: 민감한 상황 방식(sensitive case mode)으로 설정함 주2
-ssw: 잠긴 파일을 압축함
-t{형식(Type)}: 압축 파일 형식(7z, zip, gzip, bzip2, tar)을 정함. 기본값은 -t7z
-u[-][p#][q#][r#][x#][y#][z#][!newArchiveName]: 갱신 선택사항들
-v{크기(Size)}[b|k|m|g]: 분할 파일의 크기를 지정함
-w[{경로}]: 작업할 자료방을 가리킴 (비어 있는 임시 자료방)
-x[r[-|0]]]{@listfile|!wildcard}: 압축 파일에 넣지 않을 파일 이름을 지정함
-y: 압축할 때 모두 예(yes)라고 답하며 진행함
-ax[r[-|0]{@listfile|!wildcard}: 지정한 압축 파일들을 제외함
-aoa: 모든 파일들을 덮어 씀
-aos: 이미 있는 파일은 덮어쓰지 않고 건너뜀
-aou: 이미 있는 파일을 만나면 숫자를 덧붙여 새 파일을 만들어 풂
-aot: 이미 있는 파일의 이름을 바꾸어 풂
-bd: 진행률을 나타내지 않음
-i[r[-|0]]{@listfile|!wildcard}: 지정한 파일 이름들을 포함함
-m{Parameters}: 압축 방법을 지정함
-m0=PPMd: PPMd 방식으로 압축함
-m0=lzma: LZMA 방식으로 압축함 (기본값)
-md={크기}: 사전 크기 (32MB로 설정할 때: -md=32m)
-mfb={크기}: LZMA fast byte 크기 (보기: -mfb=64)
-mhe=on|off: 압축 파일의 표제 정보(헤더, header) 부호 매김(encryptopm) [기본값은 꺼짐(off)]
-ms=on|off: 덩어리(solid) 압축 방식 켜고 끄기 (켤 때: -ms=on)
-mx0: 압축하지 않고 묶음
-mx1: 압축률 - 낮음
-mx3: 압축률 - 빠름(fast, 관련 변수들이 알아서 조정됨)
-mx5: 압축률 - 보통(normal)
-mx7: 압축률 - 높음(maximum, 기본값)
-mx9: 압축률 - 매우 높음(ultra, 메모리를 많이 씀)
-r : 하위 경로까지 적용함 주1
-o: 출력할 자료방을 설정함
-p{암호(password)} : 암호를 걺
-scs{UTF-8 | WIN | DOS}: 목록 파일의 문자코드를 지정함
-sfx[이름}]: 실행 파일로 만듦
-si[{이름]: 자료를 표준입력기(stdin)에서 읽음
-slt: 목록 명령을 위한 기술 정보를 보임
-so: 자료를 표준출력기(stdout)에 기록함
-ssc[-]: 민감한 상황 방식(sensitive case mode)으로 설정함 주2
-ssw: 잠긴 파일을 압축함
-t{형식(Type)}: 압축 파일 형식(7z, zip, gzip, bzip2, tar)을 정함. 기본값은 -t7z
-u[-][p#][q#][r#][x#][y#][z#][!newArchiveName]: 갱신 선택사항들
-v{크기(Size)}[b|k|m|g]: 분할 파일의 크기를 지정함
-w[{경로}]: 작업할 자료방을 가리킴 (비어 있는 임시 자료방)
-x[r[-|0]]]{@listfile|!wildcard}: 압축 파일에 넣지 않을 파일 이름을 지정함
-y: 압축할 때 모두 예(yes)라고 답하며 진행함
2. 명령어 보기
(1) dir 방에 든 모든 파일들을 압축 파일에 끼워 넣을 때 (add)
# 7za a archive.7z ./dir/ 주3
(2) 확장자가 txt인 파일들을 갱신하여 넣을 때 (update)
# 7za u archive.zip *.txt
(3) 압축된 파일을 경로까지 만들어 풀 때 (eXtract)
# 7za x archive.7z
(4) 압축된 파일을 특정한 경로(./dir/)에 풀 때
# 7za x archive.7z -o./dir/
(5) 모든 파일을 한 경로에만 풀 때 (Extract)
# 7za e archive.7z
(6) 압축된 파일의 정보를 볼 때 (list)
# 7za l archive.7z
(7) 압축 파일에서 확장자가 bak인 파일을 지울 때 (delete)
# 7za d archive.7z *.bak -r
(8) 압축된 파일에 이상이 없는지 검사할 때 (test)
# 7za t archive.7z *.doc -r
(9) 실행할 수 있는 압축 파일을 만듦
# 7za a -sfx archive.exe ./
덧글을 달아 주세요
비밀방문자 2017/09/28 15:48 고유주소 고치기 답하기
관리자만 볼 수 있는 덧글입니다.
팥알 2017/09/28 20:46 고유주소 고치기 답하기
rpm 파일을 받아서 yum 또는 rpm으로 까는 방법이 있습니다.
http://ftp.daumkakao.com/epel/7/x86_64/p/p7zip-16.02-2.el7.x86_64.rpm
"yum install 파일이름"으로 rpm 파일을 깔 수 있습니다.
javaxer 2021/11/15 08:41 고유주소 고치기 답하기
질문 하나만 드리고 싶은게 있는데요,
-r 옵션을 붙여 주는게 어떤 차이가 있는지 잘 이해가 않가네요.
보통은 재귀 작동 명령인데 이게 어떤 의미인지 잘 모르겠습니다.
팥알 2021/11/15 14:06 고유주소 고치기 답하기
주석문에 tar 및 zip에 관하여 설명을 잘못한 것 같아서 주석문을 고쳤습니다.
archive.7z 파일 안에 아래와 같이 네 파일이 들어 있다고 하면
./1.js
./2.js
./script/3.js
./script/resource/4.js
7za d archive.7z *.js -r
은 1.js, 2.js, 3.js, 4.js를 모두 지웁니다.
7za d archive.7z *.js
은 1.js, 2.js만 지웁니다.