-xfz
gzip 및 bzip2 아카이브를 처리 하는 플래그로 tarball을 추출하는 데 익숙합니다 .
최근에 .tar.xz
파일을 봤는데를 사용하여 한 단계로 압축을 풀고 싶습니다 tar
. 어떻게 할 수 있습니까?
tar --help
tar
플래그를 나열 합니다. -xzf
에 적용됩니다 gzip
. -xjf
에 bz2
. -xJf
에 xz
.
-xfz
gzip 및 bzip2 아카이브를 처리 하는 플래그로 tarball을 추출하는 데 익숙합니다 .
최근에 .tar.xz
파일을 봤는데를 사용하여 한 단계로 압축을 풀고 싶습니다 tar
. 어떻게 할 수 있습니까?
tar --help
tar
플래그를 나열 합니다. -xzf
에 적용됩니다 gzip
. -xjf
에 bz2
. -xJf
에 xz
.
답변:
우분투에는 형식을 자체적으로 인식하는 GNU tar가 포함되어 있습니다! 하나의 명령은 manual에 따라 지원되는 압축 방법으로 작동합니다 .
tar xf archive.tar.xz
tar xf archive.tar.gz
tar xf archive.tar
tar. Cannot exec
오류가 발생하면 sudo apt install xz-utils
먼저 해야 할 수도 있습니다 .
tar: xz: Cannot exec: No such file or directory
설치하십시오 xz-utils
:sudo apt-get install xz-utils
tar
더 이상 특정 플래그가 필요하지 않은 버전은 무엇입니까 ?
시험
tar -xJf file.pkg.tar.xz
는 -J
특히 .xz 파일을 처리하는 플래그입니다.
.xz
어떤 이유로 든 tar
솔루션이 작동하지 않으면 (아마도 OS X 내장을 사용하고 있기 때문에) 다음을 시도하십시오.
unxz < file.tar.xz > file.tar
… 다음과 같습니다.
xz -dc < file.tar.xz > file.tar
그런 다음 tar
파일을 untar하는 데 사용하십시오.
unxz < file.tar.xz | tar x
.
tar xf
하지 않았다. 우분투 12.04
unxz
일치하지 않는 xz -dc
,하지만에 xz -d
. 에 추출 file.tar.xz
하려면 file.tar
간단히 씁니다 unxz file.tar.xz
. 당신이 동등한를 원하는 경우 xz -dc
, 사용을 stdout에 압축 해제 xzcat
. 예를 들면 xzcat file.tar.xz | tar x
.
xz는 무손실 데이터 압축기입니다. xz에서 tar ball을 추출한 다음 tar를 추출해야합니다.
unxz my_archive.tar.xz # results in my_archive.tar
그런 다음 타르를 추출하는 것을 알고 있습니다.
tar -xf my_archive.tar
출처 : XZ의 Utils - 위키 백과 .
xz
stdout 리디렉션이 필요하지 않습니다. 더 나은 :unxz -k
와우, 그것은 정말 좋은 것입니다. Mac에서 7zip으로 완료 되었습니까? 이 시도:
7z x -so file.tar.xz | tar xf -
tar J
= tar xz
, 그래서 우리는 tar xzf file.tar.xz
"normal"처럼 쓸 수도 있습니다 tar xvfz file.tar.gz
. 기본적으로 아무런 차이가 없습니다. 스위치를 사용하기 전에 대시가 필요하지 않습니다.
Ubuntu에는 Python (Python 2.7 및 Python 3)이 포함되어 있으며, 여기에는 아카이브 추출에 필요한 모듈이 포함되어 있습니다. 따라서 어떤 이유로 든 tar
명령이 누락 된 경우 (sysadmin이 명령을 제거했으며 sudo
설치할 권한 이없는 경우) 다음을 사용할 수 있습니다.
python3 -c 'import tarfile,sys; b = tarfile.open(sys.argv[1]);print(b.extractall())' ./archive.xz
짧은 스크립트로서 다음과 같이 더 읽기 쉽습니다.
#!/usr/bin/env python3
import tarfile,sys
with tarfile.open( sys.argv[1] ) as fd:
fd.extractall()
로 .xz
파일을 생성했다고 가정 해 봅시다 tar cJf thing.xz /etc/passwd
. 아카이브는 파일이 들어있는 etc
디렉토리를 포함합니다 passwd
. 위의 스크립트를 사용하면 etc
현재 작업 디렉토리 에 디렉토리가 작성되고 그 안에 passwd
파일 이 있습니다 . 물론 extractall()
함수 내에서 추출하려는 경로를 지정하여 항상 확장 할 수 있습니다 .
unar
7z 및 RAR을 포함한 거의 모든 형식을 보관 취소하기 위해 아주 간단한 간단한 프로그램이며 입력하기 쉽습니다.
(GNU) Objective-C로 작성되었으므로 gnustep
(GNU의 Objective-C 구현) 라이브러리를 설치해야합니다 ( gnustep-base-runtime
및 libgnustep-base1.25
)
--install-suggests를 사용하거나 apt
제안 된 패키지를 설치 하도록 구성한 경우 unar
원하지 않는 많은 GUI GNUStep 프로그램을 제안하고 설치합니다.
sudo apt install --no-install-suggests unar
unar linux-source.tar.xz
출력 디렉토리가 linux-source
자동으로 생성 됩니다.
xz-utils
아직 설치 되어 있지 않은 경우 설치해야 할 수도 있습니다