하나의 명령으로 .txz 및 .tar로 압축 된 파일 압축 풀기


13

* .txz로 압축 된 파일이 있습니다. 포장을 풀고 * .tar 파일을 받았습니다. 하나의 명령으로 두 번 포장을 풀 수있는 방법이 있습니까? 하나의 명령으로 파일 (* .tar) .txz의 압축을 풉니 다.

나는 이것을 다음과 같이 알고있다.

xz -d file.txz
tar xvf file.tar

그러나 더 좋은 방법이 있는지 궁금합니다.

답변:


18
xz -d < file.tar.xz | tar xvf -

압축 된 아카이브와 동일합니다. 원본 파일의 압축되지 않은 복사본을 만들 필요는 없습니다 .

tar최신 버전의 GNU와 같은 일부 구현 tar에는 xz자체 호출 옵션이 내장 되어 있습니다.

GNU와 tarbsdtar:

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 -

나는 이것을 사용해야합니다 : tar --use-compress-program = xz -xvf file.tar.gz 감사합니다!
Paweł Jaworowski


4

포장 풀기는 아마도 올바른 용어가 아닙니다. 당신은 할 수 있습니다 압축 해제 와 함께 xz하고 압축을 풉니 다tar.

GNU 매뉴얼 페이지 tar( man tar, GNU tar는 데비안에서 기본값 임)는 다음을 사용할 수 있도록 지정합니다.

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

xz지지대 -d사용할 수 있도록 옵션 :

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

무엇 훨씬 덜 명확한 매뉴얼 페이지에서 것은 것입니다 -xz-J대한 shorthands 있습니다 --use-compress-program xz또는 -I xz.

그리고 맨 페이지에서 전혀 지정되지 않은 것은 당신이 할 수 있다는 것입니다.

tar xvf file.txz 

GNU tar에서 tar 파일을 압축 한 것으로 인식합니다 xz.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.