約800 mbの画像ファイルを含む巨大な.tar.gzファイルをクライアントから受信しました(非圧縮時)。当社のホスティング会社のftpは非常に遅いため、すべてのファイルをローカルで抽出してftpで送信することは実用的ではありません。 .tar.gzファイルをホスティングサイトにftpできましたが、ディレクトリにsshしてunzipを使用しようとすると、次のエラーが表示されます。
[esthers@clients locations]$ unzip community_images.tar.gz
Archive: community_images.tar.gz
End-of-central-directory signature not found. Either this file is not a zipfile, or it constitutes one disk of a multi-part archive. In the latter case the central directory and zipfile comment will be found on the last disk(s) of this archive.
note: community_images.tar.gz may be a plain executable, not an archive
unzip: cannot find zipfile directory in one of community_images.tar.gz or community_images.tar.gz.Zip, and cannot find community_images.tar.gz.Zip, period.
.tar.gzファイル内のすべてのファイルを抽出するには、どのコマンドを使用する必要がありますか?
詳細についてはman tar
と入力してください。ただし、次のコマンドでトリックを実行できます。
tar -xvzf community_images.tar.gz
もう少し説明するために、tarはすべてのファイルを1つのパッケージcommunity_images.tar
に収集しました。 gzipプログラムは圧縮を適用したため、gz拡張機能が使用されました。したがって、コマンドはいくつかのことを行います。
f
:これはコマンドの最後のフラグでなければならず、tar f ileはその直後でなければなりません。 tarに圧縮ファイルの名前とパスを伝えます。z
:g z ipを使用してtarにアーカイブを解凍するよう指示しますx
:tarはファイルを収集するか、e x tractすることができます。 x
は後者を行います。v
:tarをたくさん話させます。 V erbose出力は、抽出されているすべてのファイルを表示します。ファイルを特定の宛先に抽出する場合は、-C /destination/path/
を追加できます
最初にディレクトリを作成してください。この場合は〜/ Pictures/Community
例:
mkdir ~/Pictures/Community
tar xf community_images.tar.gz -C /home/emmys/Pictures/Community/
tar to e X tract a F ile
注:?
+ termを使用してmanページ内を検索し、n
およびN
を使用して次のまたは前の用語のインスタンスに移動できることを忘れないでください探している。
ある時点でtar
が自動解凍にアップグレードされました。あなたが今必要なのは:
tar xf community_images.tar.gz
同じ説明が適用されます。
f
:これはコマンドの最後のフラグでなければならず、tar f ileはその直後でなければなりません。 tarに圧縮ファイルの名前とパスを伝えます。x
:e xファイルを抽出します。コマンドフラグにハイフンがないことに注意してください。これは、tarのほとんどのバージョンがgnuとbsdの両方のスタイルオプションを許可しているためです(単純に、gnuにはハイフンが必要ですが、bsdではできません)。
tar
のすべてのフラグを覚えるのは面倒です。必須のXKCD:
したがって、それを行うためにPythonで独自の小さなスクリプトを作成しました。クイック、ダーティ、cp
のような使用法:
#!/usr/bin/env python3
import tarfile,sys,os
tf = tarfile.open(name=sys.argv[1],mode='r:gz')
where = '.'
if len(sys.argv) == 3:
where = sys.argv[2]
tf.extractall(path=where)
tf.close()
次のように使用します。
myuntar.py archive.tar
同様の Zipアーカイブを解凍するためのスクリプト も参照してください。
tar -xvf <.tar file> or <.tar.xz file>
tar -xzvf <.tar.gz file>
tar -xjvf <.tar.bz2 file>
[NOTE]:
-v
処理されたファイルを詳細にリストします。-z
gzipを使用してアーカイブをフィルタリングします。-f
アーカイブファイルまたはデバイスアーカイブを使用します。-x
アーカイブからファイルを抽出します。-j
bzip2。-xf
archive.tar#archive.tar
からすべてのファイルを抽出します。を使用して.tar.gz
ファイルを抽出できない場合
tar -xvzf fileName.tar.gz
を使用して抽出してみてください
tar xf fileName.tar.gz
最初のステップでもこれを行うことができます。
gunzip community_images.tar.gz
次に、ファイルがあります:community_images.tar
次のステップは次のとおりです。
tar -xvf community_images.tar
そして、*。tarファイルが抽出されます。
tar xvf file.tar.gz
Tarの最新バージョンは、アーカイブがgzip圧縮されていることを自動検出し、「z」を追加する必要があります。