하나의 명령으로 tar.xz 만들기
.tar.xz
하나의 명령 으로 압축 된 아카이브 를 만들려고합니다 . 이에 대한 구체적인 구문은 무엇입니까?
시도 tar cf - file | xz file.tar.xz
했지만 작동하지 않습니다.
에 -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>
스위치 -J
는 최신 시스템에서만 작동합니다. 보편적 인 명령은 :
.tar.xz 아카이브를 만들려면
tar cf - directory/ | xz -z - > directory.tar.xz
설명
tar cf - directory
directory /를 읽고 TAR 형식으로 넣기 시작합니다. 이 작업의 출력은 표준 출력에서 생성됩니다.|
표준 출력을 다른 프로그램의 입력으로 파이프 ...... 일어납니다
xz -zf -
. XZ는 표준 입력 ( ) 인-z
파일에서 아카이브 ( ) 를 작성 ( ) 하도록 구성되어 있습니다 .-f
-
당신의 출력을 리디렉션
xz
받는tar.xz
파일.
파이프 모드가 마음에 들면 가장 깨끗한 솔루션입니다.
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 압축 옵션 사용
에 압축 옵션을 사용 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
합니다 . 별도의 지시가없는 경우 기본적으로 압축 으로 설정 되지만 zip 으로 수동 설정 됩니다.--keep
-9
-z
xz
압축을 풀고 untar하려면
Rafael van Horn 을 에코 하고 압축을 풀고 untar하려면 (아래 참고 참조) :
xz -dc baz.tar.xz | tar x
참고 : Rafael의 답변 과 달리 xz -dc
대신을 사용하십시오 catxz
. 이 문서를 스크립팅에 사용하는 경우 문서에서 권장합니다. -d
또는 --decompress
대신에 사용하는 습관을 갖는 것이 가장 좋습니다 unxz
. 그러나 필요한 경우 명령 행에서 해당 명령을 사용하는 것이 좋습니다.
이 시도: tar -cf file.tar file-to-compress ; xz -z file.tar
노트 :
- tar.gz와 tar.xz는 동일하지 않습니다. xz는 더 나은 압축을 제공합니다.
- Don't use pipe
|
because this runs commands simultaneously. Using;
or&
executes commands one after another.
참고URL : https://stackoverflow.com/questions/18855850/create-a-tar-xz-in-one-command
'Programing' 카테고리의 다른 글
같은 이름의 Lambda 캡처 및 매개 변수-다른 사람을 가리는 사람은 누구입니까? (0) | 2020.07.09 |
---|---|
bash에서 와일드 카드 / 별표 문자를 어떻게 피할 수 있습니까? (0) | 2020.07.08 |
리눅스에서 정적 라이브러리를 컴파일하는 방법? (0) | 2020.07.08 |
number (x) 또는 parseFloat (x) 중 어느 것이 더 낫습니까? (0) | 2020.07.08 |
Linq의 목록에서 여러 필드 선택 (0) | 2020.07.08 |