리눅스마스터1급: 리눅스 xz 압축유틸리티 사용법
작성자 정보
- 관리자 작성
- 작성일
컨텐츠 정보
- 3,413 조회
- 0 추천
- 목록
본문
리눅스마스터1급: 리눅스 xz 압축유틸리티 사용법
xz
xz는 gzip과 bzip2에 유사한 데이터 압축 툴이다.
확장자는 .xz 형식을 사용하지만, 구 버전의 .lzma 형식과 로압축스트림(raw compressed streams)도 지원한다.
xz 패키지는 xz, unxz, xzcat, lzma, unlzma 및 lzcat 명령을 사용하여 .xz 및 .lzma 형식의 파일들을 압축하거나 압축해제할 수 있다.
1) 개요
|
|
|
| xz [option] ... [file] ... |
|
|
|
|
∙unxz은 xz --decompress와 동일하다.
∙xzcat은 xz --decompress --stdout과 동일하다.
∙lzma는 xz --format=lzma와 동일하다.
∙unlzma는 xz --format=lzma --decompress와 동일하다.
∙ lzcat은 xz --format=lzma --decompress --stdout과 동일하다.
압축해제를 위해 스크립트를 작성할 때에는 unxz나 xzcat 보다는 xz –d 또는 xz –dc와 같이 적절한 아규먼트와 함께 xz를 사용할 것이 권장된다.
2) 옵션
① 운용 모드
옵 션 | 기 능 |
-z --compress | 압축한다.
이것은 어떤 운용모드도 특정되지 않고 unxz과 같이 다른 운용 모드가 내포된 경우가 아니었을 때의 기본 운용 모드이다.
|
-d --decompress, --uncompress | 압축해제한다.
|
-t --test | 압축 파일의 무결성을 검사한다.
어떤 파일도 작성되지 않고 삭제되지 않는다.
“--decompress —stdout”과 동일하다.
|
-l --list | 압축 파일에 대한 정보를 보여준다.
어떤 압축해제 출력도 만들어지지 않고, 어떤 파일도 작성되거나 지워지지 않는다.
|
xz 선택된 운용 모드에 따라서 각 파일을 압축하거나 압축해제하고, 파일이 지정되지 않거나 파일 대신 – 가 기술되는 경우에는 표준 입력을 읽어 들여서 표준 출력으로 압축 데이터를 작성한다.
그렇지만 원칙적으로 터미널로 압축 파일을 작성하거나 터미널로부터 압축 파일을 읽어들일 수는 없다.
② 운용 수정자
옵 션 | 기 능 |
-k --keep | 입력 파일들을 (지우지 않고) 유지한다.
|
-f --force | • 목표 파일이 이미 존재하면 압축 또는 압축해제 전에 그것을 삭제한다.
• 입력이 정규 파일이 아니고, 하나 이상의 하드링크를 가지거나 setuid 또는 sticky bit 셋을 가져도 압축하거나 압축해제 한다.
setuid, setgid 및 sticky bit는 목표 파일로 복제되지 않는다.
• “--decompress --stdout”과 묶여서 사용되면 xz은 소스 파일의 형식을 인식하지 않는다.
xz은 소스 파일을 표준 출력인 것처럼 복제할 것이다.
이것은 xz으로 압축되지 않은 파일들에 대해 cat과 같이 xzcat --force를 사용할 수 있도록 한다.
장래에 xz은 새로운 압축 파일 형식들을 지원할 수 있을 것이고, 그러면 표준 출력인 것처럼 복제하는 것 대신에 조금 더 많은 파일 형식들을 압축해제할 수 있을 것이다.
--format=형식은 xz을 단일 파일 형식만 압축해제하도록 제한하기 위해 사용될 수 있다.
• 터미널로 압축 파일을 작성하고 터미널로부터 압축 파일을 읽어 들일 수 있도록 한다.
|
-c --stdout, --to-stdout | 압축 또는 압축해제 파일들을 파일 대신 표준 출력으로 작성한다.
이것은 —keep를 내포하여 기존의 압축파일은 삭제되지 않고 그대로 남는다.
|
-S .suf -suffix=.suf | 압축할 때 목표 파일에 대해 확장자로서 .xz이나 .lzma 대신에 .suf를 사용한다.
표준 출력으로 작성하하지 않고 소스 파일이 이미 .suf 확장자를 가지고 있다면 경고가 보여지고 그 파일이 넘겨진다.
압축해제할 때, .xz, .txz, .lzma 또는 .tlz 확장자를 가진 파일들에 더해 .suf 확장자를 가진 파일들을 인식한다.
만약 소스 파일이 .suf 확장자를 가지면, 그 확장자는 목표 파일을 얻기 위해 삭제된다.
로스트림(raw streams)를 압축하거나 압축해제하는 경우(--format=raw)에, 로스트림에 대한 기본 확장자가 없기 때문에 표준 출력으로 작성하지 않는다면 확장자가 항상 지정되어야 한다.
|
--files[=file] | file에서 프로세스할 파일명들을 읽는다.
만약 file이 생략되면, 파일명들을 표준 입력에서 읽어 들인다.
파일명들은 개행(newline) 문자로 끝나야 한다.
파일명들이 명령행에서 주어지면, 파일명들은 file로부터 파일명들이 읽어들여지기 전에 프로세스된다.
|
--files0[=file] | 이것은 null 문자로 끝나야 하는 것을 제외하면 --files[=file]와 동일하다.
|
③ 기타 옵션들
옵 션 | 기 능 |
-F 형식 --format=형식 | 압축 또는 압축해제에 대한 파일 형식을 지정한다.
• auto : 이것이 기본이다.
압축될 때 auto는 xz를 지정한다.
압축해제할 때 입력 파일의 형식이 자동 탐지된다.
(--format=raw 로 생성되는) 로스트림은 자동감지될 수 없다.
• xz : .xz 파일 형식으로 압축하거나 압축해제 시 .xz 파일만 받는다.
• lzma 또는 alone : 구형식인 .lzma 파일 형식으로 압축하거나 압축해제 시 .lzma 파일들만 받는다.
대체명인 alone은 LZMA 유틸에 호환(backwards compatibility)된다.
|
-q --quiet | 경고와 알림을 없앤다.
에러 메시지 또한 없애려면 이것을 두 번 지정한다.
그렇지만 실제 경고와 알림은 보이지 않게 실행된다.
|
-v --verbose | 상세한 내용을 출력한다.
두 번 사용되면 더욱 자세하게 출력한다.
|
-Q --no-warn | 경고 메시지를 출력하지 않도록 한다.
|
-h --help | 도움말을 출력한다.
|
-H --long-help | 상세한 도움말을 출력한다.
|
-V --version | xz과 liblzma의 버전을 출력한다.
|
3) 내용
xz를 이용한 압축과 압축해제는 gzip이나 bzip2와 동일하게 수행하면 된다.
예를 들어 다음과 같이 xz을 사용할 수 있다.
|
|
|
| $ xz sbin.txt $ ls -al sbin.txt* -rw-r--r-- 1 freekgb freekgb 770 9월 3 19:05 sbin.txt.xz $ xz -d sbin.txt.xz $ ls -al sbin.txt* -rw-r--r-- 1 freekgb freekgb 1293 9월 3 19:06 sbin.txt |
|
|
|
|
만약 tar와 조합해서 사용하려면 tar에 –J 옵션(대문자이며 소문자 j는 bzip2에 사용한다)을 추가하여 사용한다.
다음 예제에서 위는 압축이고 아래는 압축 해제이다.
|
|
|
| $ tar -cvJf test.tar.xz test1.txt test2.txt ... $ tar -xvJf test.tar.xz |
|
|
|
|
|
|
| ||
| compress 압축 파일의 압축해제 compress로 압축한 파일을 원상태로 압축 해제하기 위해서는 uncompress를 사용한다.
만약 tar와 조합해서 사용하려면 tar에 -Z 옵션을 추가하여 사용한다.
|
| ||
|
|
|
관련자료
-
이전
-
다음