답변:
하지만 같은 Zacharee1에 의해 설명 하고 heemayl에 의해 당신이 원하는 것 무엇 일반적으로, 또 다른 방법은에 파이프 타르를 칠 데이터입니다 명령 :tar cJf archive files...
xz
tar c files... | xz > archive.tar.xz
Ubuntu의 옵션이 tar
지원 되므로이 J
대체 방법은 옵션을에 전달하려는 경우에 특히 유용합니다 xz
.
이 예제에서는 압축 수준 ( -9
to xz
)과 상세 출력 ( v
to tar
, -v
to 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
.xz
두 번째 명령에 의해 압축됩니다 . ( /로 xz
호출하지 않는 한 원본 파일이 완료되면 자동으로 삭제됩니다 .)-k
--keep
추가 읽기를 들어, 참조 라파엘 반 호른에 의해이 게시물 과 tar
와 xz
맨 페이지를.
tar -J
은 환경 변수를 지정 XZ_OPT
하여 호출을 다음과 같이 만드는 것입니다.XZ_OPT="-9v" tar -Jcf out.tar.xz [files]
옵션 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
.
xz
중 가장 느린이다 xz
, gzip
, bzip2
당신이 더 많은 압축을 원하는 경우로 인해 others..the 느림보다 더 높은 압축 비율 거래에 대한 가치입니다 ..
이 명령을 사용하십시오 tar cJf <archive.tar.xz> <files>
. 파일 경로를 공백으로 구분하십시오.
-cfJ
-
front..from에 man tar
: A function letter need not be prefixed with ``-''
..so tar cJf
OK 절대적이다.
tar cJf
내 대답이 tar --cvJf
처음에 이미 다뤄 졌을 때 OP가이를 수행하는 또 다른 방법을 제공 할 첫 번째 대답을 고수해야합니다 .