답변:
에 -J
압축 옵션을 사용하십시오 xz
. 그리고 기억하십시오 man tar
:)
tar cfJ <archive.tar.xz> <files>
2015-08-10 편집 :
당신이에 인수를 전달하는 경우 tar
대시 (예 : tar -cf
반대 tar cf
), 다음 -f
옵션은 마지막으로 와야 은 파일 이름을 지정하기 때문에, (덕분에 @ABB 그 아웃 지적를 들어!). 이 경우 명령은 다음과 같습니다.
tar -cJf <archive.tar.xz> <files>
f
하고 대시가 없어도 마지막을 배치하는 것이 가장 좋습니다 .
tar
macOS에서는 지원하는 것 -J
같지만이 기능은 매뉴얼 페이지에 나와 있지 않습니다. 여기를 봐야했다. 그들은 섹션에 XZ를 언급하지만 --options
...
스위치 -J
는 최신 시스템에서만 작동합니다. 보편적 인 명령은 다음과 같습니다.
.tar.xz 아카이브를 만들려면
tar cf - directory/ | xz -z - > directory.tar.xz
설명
tar cf - directory
directory /를 읽고 TAR 형식으로 넣기 시작합니다. 이 작업의 출력은 표준 출력에서 생성됩니다.
|
표준 출력을 다른 프로그램의 입력으로 파이프 ...
... 일어납니다 xz -z -
. XZ는 -z
표준 입력 ( -
) 에서 아카이브 를 압축 ( ) 하도록 구성되어 있습니다.
당신의 출력을 리디렉션 xz
받는 tar.xz
파일.
tar cf - directory/ | xz -z -T0 - > directory.tar.xz
-1 -T0
나 -0 -T0
옵션으로 많은 신경을 쓰지 않는 경우 , 일반적으로 gzip보다 작은 파일을 비교할 수 있거나 더 빠른 시간에 제공하지만 기본값 -6
은 상당히 느립니다. gzip보다.
파이프 모드가 마음에 들면 가장 깨끗한 솔루션입니다.
tar c some-dir | xz > some-dir.tar.xz
f
파일을 처리하기 위해 옵션 을 넣은 다음 -
파일이 표준 입력임을 지정하는 데 사용할 필요는 없습니다. 에 대한 -z
옵션도 지정할 필요가 없습니다 xz
. 기본값이기 때문입니다.
그것은 작동 gzip
하고 bzip2
너무 :
tar c some-dir | gzip > some-dir.tar.gz
또는
tar c some-dir | bzip2 > some-dir.tar.bz2
압축 해제도 매우 간단합니다.
xzcat tarball.tar.xz | tar x
bzcat tarball.tar.bz2 | tar x
zcat tarball.tar.gz | tar x
tar
아카이브 만있는 경우 다음을 사용할 수 있습니다 cat
.
cat archive.tar | tar x
파일 만 나열해야하는 경우을 사용하십시오 tar t
.
에 압축 옵션을 사용 xz
하거나 tar
MacOS에서 사용 하는 경우 tar -cJf
구문 을 피할 수 있습니다.
에 따르면 man xz
, 이렇게하는 방법은 다음과 같습니다.
tar cf - baz | xz -4e > baz.tar.xz
내가 Wojciech Adam Koszek의 형식을 좋아 했지만 정보 는 좋아하지 않았기 때문에 :
c
지정된 파일에 대한 새 아카이브를 작성합니다. f
디렉토리에서 읽습니다 ( -cf
! = 때문에 두 번째로 가장 좋습니다 -fc
)-
표준 출력으로 출력|
다음 명령으로 파이프 출력xz -4e
압축 옵션을 xz
사용하여 호출합니다 -4e
. (과 동일 -4
--extreme
)> baz.tar.xz
tar 및 압축 파일을 baz.tar.xz
어디에 -4e
, 자신의 압축 옵션을 사용하십시오. 내가 자주 사용 -k
에 --keep
원본 파일과 -9
정말 무거운 압축. 별도의 지시가없는 경우 기본적으로 압축 -z
으로 설정 xz
되지만 zip 으로 수동 설정 됩니다.
Rafael van Horn 을 에코하려면 압축을 풀고 untar하십시오 (아래 참고 참조).
xz -dc baz.tar.xz | tar x
참고 : Rafael의 답변 과 달리 xz -dc
대신을 사용하십시오 catxz
. 이 문서를 스크립팅에 사용하는 경우 문서에서 권장합니다. -d
또는 --decompress
대신에 사용하는 습관을 갖는 것이 가장 좋습니다 unxz
. 그러나 필요한 경우 명령 행에서 해당 명령을 사용하는 것이 좋습니다.
tar -cJf
MacOS 에서 구문을 사용하지 않는 특별한 이유는 무엇입니까? 방금 궁금한 점이 있습니다. 지금 막하고 있었기 때문에 작동하는 것 같습니다.
이 시도: tar -cf file.tar file-to-compress ; xz -z file.tar
노트 :
|
는 명령을 동시에 실행하므로 파이프를 사용하지 마십시오 . 명령을 차례로 사용 ;
하거나 &
실행합니다.J
옵션이 보이지 않지만 작동합니다. RHEL6이 필요하다고 생각합니다.
tar -c file-to-compress | xz -z > file.tar.xz
.
&
하면 명령이 차례로 실행되지 않습니다. 대신 백그라운드 프로세스로 첫 번째 프로세스를 시작합니다.
v
명령 스위치 (tar -cJvf
) 파일이 아카이브에 추가되는 방송 상세한다.