여러 파일을 .xz 아카이브로 압축하는 방법


10

여러 이미지를 .xz 아카이브로 압축하고 싶습니다. 어떻게해야합니까?

답변:


10

하지만 같은 Zacharee1에 의해 설명 하고 heemayl에 의해 당신이 원하는 것 무엇 일반적으로, 또 다른 방법은에 파이프 타르를 칠 데이터입니다 명령 :tar cJf archive files...xz

tar c files... | xz > archive.tar.xz

Ubuntu의 옵션이 tar지원 되므로이 J대체 방법은 옵션을에 전달하려는 경우에 특히 유용합니다 xz.

이 예제에서는 압축 수준 ( -9to xz)과 상세 출력 ( vto tar, -vto xz) 이 높은 일부 TIFF 파일을 tar 및 xzip으로 압축합니다 .

ek@Io:~/Pictures$ tar vc *.tif{,f} | xz -9v > pics.tar.xz
page001.tif
page002.tif
page003.tif
page004.tif
page9087.tif
page3la.tiff
quux0000.tiff
  100 %       207.3 KiB / 290.0 KiB = 0.715

물론 이것은 명시 적으로 별도의 두 단계로 수행 될 수도 있습니다.

ek@Io:~/Pictures$ tar vcf pics.tar *.tif{,f}
page001.tif
page002.tif
page003.tif
page004.tif
page9087.tif
page3la.tiff
quux0000.tiff
ek@Io:~/Pictures$ xz -9v pics.tar
pics.tar (1/1)
  100 %       207.3 KiB / 290.0 KiB = 0.715

이 두 가지 방법은 실제로 작동 방식이 동일하지 않지만 .tar.xz결국 생성 되는 파일은 동일해야합니다 (테스트했을 때와 동일해야 함).

  • 처음으로, 출력tar되고 파이프 ( |받는) 입력xz. 거의 즉시 xz데이터를 수신 tar하며 중간 압축되지 않은 tar 파일은 작성되지 않습니다. 이것은 첫 번째 방법은 본질적으로 동일하다라고하는 것이tar cJf archive files... , 전달 된 추가 인수를 제외하고 xz.
  • 두 번째에서는 압축되지 않은 tar 아카이브가 첫 번째 명령에 의해 생성 된 다음 xz두 번째 명령에 의해 압축됩니다 . ( /로 xz호출하지 않는 한 원본 파일이 완료되면 자동으로 삭제됩니다 .)-k--keep

추가 읽기를 들어, 참조 라파엘 반 호른에 의해이 게시물tarxz맨 페이지를.


1
+1 .. 높은 (또는 다양한) 압축 비율을 원할 때 좋은 것입니다.
heemayl

2
안녕하세요 2015! 사용하여 다양한 압축 수준을 달성 할 수있는 또 다른 방법 tar -J은 환경 변수를 지정 XZ_OPT하여 호출을 다음과 같이 만드는 것입니다.XZ_OPT="-9v" tar -Jcf out.tar.xz [files]
Wug

2
@ @Wug 그것은 훌륭한 아이디어입니다. 나 자신에게 별도의 대답을 보증하는 것 같습니다. 그걸 기꺼이 게시 하시겠습니까?
Eliah Kagan

13

옵션 tar과 함께 사용 -J:

tar -cvJf images.tar.xz /directory/containing/images/*

tar 여러 파일을 하나로 결합하는 데 사용되며 (아카이브) XZ 압축 알고리즘을 사용하여 아카이브를 압축해야합니다.

보낸 사람 man tar:

-c, --create
       create a new archive
-v, --verbose
       verbosely list files processed
-J, --xz

-f, --file ARCHIVE
       use archive file or device ARCHIVE

또한 images.tar.xz다른 곳에 저장하려면 현재 디렉토리에 생성됩니다 /full/path/to/images.tar.xz.


몇 가지 거대한 PSD를 xzing하는 과정을 시작했고 솔직히 말해서 아카이브는 약간의 압축을 제공합니다! 400MB 이상은 이제 200MB입니다.
원거리 그래픽

1
great..although xz중 가장 느린이다 xz, gzip, bzip2당신이 더 많은 압축을 원하는 경우로 인해 others..the 느림보다 더 높은 압축 비율 거래에 대한 가치입니다 ..
heemayl은

내 PSD의 총합은 600-900MB 총 xD입니다.
먼 그래픽

당신은 갈 것입니다 ....
heemayl

약간의 오류 ._.
먼 그래픽

3

이 명령을 사용하십시오 tar cJf <archive.tar.xz> <files>. 파일 경로를 공백으로 구분하십시오.


-cfJ
AB

1
@AB : 당신이 필요하지 않습니다 -front..from에 man tar: A function letter need not be prefixed with ``-''..so tar cJfOK 절대적이다.
heemayl

@heemayl 그러나 작동하지 않는 것 같습니다. '-'없이 시도했지만 tar가 완료되지 않았습니다.
AB

@heemayl 그게 내가 생각한 것입니다.
TheWanderer

1
tar cJf내 대답이 tar --cvJf처음에 이미 다뤄 졌을 때 OP가이를 수행하는 또 다른 방법을 제공 할 첫 번째 대답을 고수해야합니다 .
heemayl
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.