私は-xfz、gzipおよびbzip2アーカイブを処理するフラグを使用してtarballを抽出することに慣れています。
最近、.tar.xzファイルに遭遇しましたが、を使用して1ステップで解凍したいのtarですが、どうすればよいですか?
tar --helptarフラグをリストします。 -xzfに適用されgzipます。 -xjfへbz2。 -xJfへxz。
私は-xfz、gzipおよびbzip2アーカイブを処理するフラグを使用してtarballを抽出することに慣れています。
最近、.tar.xzファイルに遭遇しましたが、を使用して1ステップで解凍したいのtarですが、どうすればよいですか?
tar --helptarフラグをリストします。 -xzfに適用されgzipます。 -xjfへbz2。 -xJfへxz。
回答:
Ubuntuには、GNU tarが含まれています。GNUtarは、フォーマットを単独で認識します。1つのコマンドは、マニュアルごとに、サポートされている圧縮方法で機能します。
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してファイルを展開します。
unxz < file.tar.xz | tar xや似ていると感じています。
tar xfはなかった。ubuntu 12.04
unxzと等価ではないxz -dcが、それにxz -d。だから抽出file.tar.xzするためにfile.tar、あなたは単に書くだろうunxz file.tar.xz。に相当するものが必要な場合はxz -dc、標準出力に解凍して、を使用しますxzcat。たとえばxzcat file.tar.xz | tar x。
xzはロスレスデータコンプレッサーです。xzからtarボールを抽出してから、tarを抽出する必要があります。
unxz my_archive.tar.xz # results in my_archive.tar
次に、タールを抽出することを知っています
tar -xf my_archive.tar
xzstdoutリダイレクトは必要ありません。さらに良い: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コマンドが欠落している場合(たとえば、システム管理者がコマンドを削除し、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まだ存在しない場合はインストールする必要があることに注意してください