Perintah apa yang saya perlukan untuk mengekstrak/mengekstrak a .tar.berkas gz?

Saya menerima besar .tar.gz file dari klien yang berisi sekitar 800 mb file gambar (ketika terkompresi.) Ftp perusahaan hosting kami sangat lambat, jadi mengekstrak semua file secara lokal dan mengirimkannya melalui ftp tidak praktis. Saya bisa ftp .tar.gz file ke situs hosting kami, tetapi ketika saya ssh ke direktori saya dan mencoba menggunakan unzip, itu memberi saya kesalahan ini:

[esthers@clients locations]$ unzip community_images.tar.gzArchive:  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 archiveunzip:  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.

Perintah apa yang harus saya gunakan untuk mengekstrak semua file dalam .tar.berkas gz?

Jenis man tar untuk informasi lebih lanjut, tetapi perintah ini harus melakukan trik:

tar -xvzf community_images.tar.gz

Untuk menjelaskan sedikit lebih jauh, tar mengumpulkan semua file ke dalam satu paket, community_images.tar. Program gzip diterapkan kompresi, maka gz perpanjangan. Jadi perintah melakukan beberapa hal:

  • f: ini harus menjadi bendera terakhir dari perintah, dan tar file harus segera setelah. Ini memberi tahu tar nama dan jalur file terkompresi.
  • z: memberitahu tar untuk mendekompresi arsip menggunakan gdariip
  • x: tar dapat mengumpulkan file atau exsaluran mereka. x apakah yang terakhir.
  • v: membuat tar banyak bicara. Verbose output menunjukkan semua file yang diekstrak.

Untuk mengekstrak menjadi cfolder ustom, tambahkan -C opsi dengan nama folder pilihan Anda:

tar -xvzf community_images.tar.gz -C some_custom_folder_name

Jika Anda ingin file yang akan diekstrak ke tujuan tertentu Anda dapat menambahkan -C /destination/path/
Pastikan Anda membuat direktori terlebih dahulu, dalam hal ini: ~ / Pictures / Community

Contoh:

mkdir ~/Pictures/Communitytar xf community_images.tar.gz -C /home/emmys/Pictures/Community/

Anda dapat dengan mudah menghafalnya jika Anda mempertimbangkan untuk memberi tahu tar untuk e X traktat a F dan

gif of process done at terminal

Catatan: Ingat Anda dapat mencari di dalam halaman manual dengan ?+ istilah untuk mencari, dan kemudian n dan N untuk pergi ke contoh berikutnya atau sebelumnya dari istilah yang Anda cari.

Pada titik tertentu tar ditingkatkan menjadi dekompresi otomatis. Yang Anda butuhkan sekarang adalah:

tar xf community_images.tar.gz

Penjelasan yang sama berlaku:

  • f: ini harus menjadi bendera terakhir dari perintah, dan tar file harus segera setelah. Ini memberi tahu tar nama dan jalur file terkompresi.
  • x: ituxsaluran file.

Perhatikan kurangnya tanda hubung untuk bendera perintah. Ini karena sebagian besar versi tar memungkinkan opsi gaya gnu dan bsd (secara sederhana, gnu memerlukan tanda hubung, bsd tidak).

Mengingat semua bendera untuk tar bisa membosankan. Xkcd wajib:

enter image description here

Oleh karena itu saya membuat skrip kecil saya sendiri dengan Python untuk melakukan itu. Cepat, kotor, cp- seperti dalam penggunaan:

#!/usr/bin/env python3import tarfile,sys,ostf = 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()

Menggunakannya sebagai begitu:

myuntar.py archive.tar

Lihat juga mirip script untuk membuka ritsleting arsip zip.

Jawaban Cepat:

tar -xvf  <.tar file> or <.tar.xz file>tar -xzvf <.tar.gz file>tar -xjvf <.tar.bz2 file>

[Catatan]:

  • -v Verbosely daftar file diproses.
  • -z Saring arsip melalui gzip.
  • -f Gunakan file arsip atau Arsip perangkat.
  • -x Ekstrak file dari arsip.
  • -j bzip2.
  • tar -xf arsip.tar # ekstrak semua file dari archive.tar.

Jika Anda tidak dapat mengekstrak .tar.gz berkas menggunakan

tar -xvzf fileName.tar.gz

Coba ekstrak menggunakan

tar xf fileName.tar.gz

Anda bisa melakukan ini juga pada langkah pertama:

gunzip community_images.tar.gz

Kemudian Anda memiliki file: community_images.tar

Langkah kedua adalah:

tar-xvf community_images.tar

Dan*.file tar akan diekstraksi.

berkas tar xvf.tar.gz

  • X untuk ekstrak
  • v untuk verbose (daftar file)
  • f untuk nama file berikutnya

Versi TAR modern apa pun dari jarak jauh harus mendeteksi secara otomatis bahwa arsip di-gzip, dan menambahkan "z" untuk anda.