하나의 명령으로 .txz 및 .tar 아카이브 압축 풀기

하나의 명령으로 .txz 및 .tar 아카이브 압축 풀기

*.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 tarDebian의 기본 GNU tar)에서는 다음을 사용할 수 있다고 지정합니다.

-I, --use-compress-program PROG
      filter through PROG (must accept -d)

xz해당 옵션을 지원하므로 다음 -d을 사용할 수 있습니다.

tar --use-compress-program xz xvf file.txz 

매뉴얼 페이지에서 명확하지 않은 것은 -xzand가 -Jor의 약어라는 것입니다.--use-compress-program xz-I xz

매뉴얼 페이지에 전혀 지정되지 않은 것은 다음을 수행할 수 있다는 것입니다.

tar xvf file.txz 

GNU tar에서는 tar 파일을 xz.

관련 정보