*.txz로 압축된 파일이 있습니다. 압축을 푼 후 *.tar 파일을 받았습니다. 하나의 명령으로 두 번 압축을 풀 수 있는 방법이 있습니까? (*.tar).txz 파일의 압축을 풀기 위해 하나의 명령을 사용한다는 뜻입니까?
내가 하는 방법은 다음과 같습니다.
xz -d file.txz
tar xvf file.tar
하지만 더 좋은 방법이 있는지 궁금합니다.
답변1
xz -d < file.tar.xz | tar xvf -
이는 압축된 아카이브와 동일합니다. 당신은해야안 돼요원본 파일의 압축되지 않은 복사본을 생성해야 합니다.
일부 tar
구현(예: 최신 버전의 GNU)에는 tar
사용자가 직접 호출할 수 있는 내장 옵션이 있습니다.xz
GNU를 사용 tar
하거나 다음 을 수행하십시오 bsdtar
.
tar Jxvf file.tar.xz
그러나 귀하의 버전에 해당 파일이 있는 경우 파일을 자동으로 감지 -J
할 가능성이 높습니다 . 따라서 다음과 같습니다.xz
tar xvf file.tar.xz
충분할 것입니다.
GNU 또는 BSD가 tar
너무 오래되어 특별히 지원되지 않는 경우 xz
다음 --use-compress-program
옵션이 있습니다.
tar --use-compress-program=xz -xvf file.tar.gz
압축기 유틸리티 호출의 장점 중 하나 tar
는 종료 상태에서 실패를 보고하는 기능입니다.
참고: tar.xz
를 사용하여 아카이브를 생성한 pixz
경우 전체 아카이브의 압축을 풀지 않고도 파일을 개별적으로 추출할 수 있도록 인덱싱 pixz
되었을 수 있습니다 .tar
pixz -x path/to/file/in/archive < file.tar.xz | tar xvf -
답변2
이것이 가야 할 길이다tar Jxvf file.txz
답변3
포장 풀기(Unpacking)는 올바른 용어가 아닐 수 있습니다. 당신은 할 수압축을 푼다그리고 xz
그리고압축을 푼다그리고 tar
.
GNU 매뉴얼 페이지 tar
( man tar
Debian의 기본 GNU tar)에서는 다음을 사용할 수 있다고 지정합니다.
-I, --use-compress-program PROG
filter through PROG (must accept -d)
xz
해당 옵션을 지원하므로 다음 -d
을 사용할 수 있습니다.
tar --use-compress-program xz xvf file.txz
매뉴얼 페이지에서 명확하지 않은 것은 -xz
and가 -J
or의 약어라는 것입니다.--use-compress-program xz
-I xz
매뉴얼 페이지에 전혀 지정되지 않은 것은 다음을 수행할 수 있다는 것입니다.
tar xvf file.txz
GNU tar에서는 tar 파일을 xz
.