Saya menerima file .tar.gz besar dari klien yang berisi sekitar 800 mb file gambar (saat tidak dikompresi). Ftp perusahaan hosting kami sangat lambat, jadi mengekstrak semua file secara lokal dan mengirimkannya melalui ftp tidak praktis. Saya dapat mem-ftp file .tar.gz 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.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.
Perintah apa yang perlu saya gunakan untuk mengekstrak semua file dalam file .tar.gz?
tar -xf
saran akan membuat jawaban tambahan yang besar.man tar
; cari-C
opsi. Atau mungkin periksa jawaban lainnya 😉Jika Anda ingin file diekstraksi ke tujuan tertentu, Anda dapat menambahkan Pastikan Anda membuat direktori terlebih dahulu, dalam hal ini: ~ / Gambar / Komunitas
-C /destination/path/
Contoh:
Anda dapat dengan mudah menghafal jika Anda mempertimbangkan mengatakan tar e X saluran a F ile
Catatan: Ingat, Anda dapat mencari di dalam halaman manual dengan
?
+ istilah untuk mencari, dan kemudiann
danN
untuk pergi ke contoh berikutnya atau sebelumnya dari istilah yang Anda cari.sumber
ps
).--directory="/home/emmys/Pictures/Community/"
(yang saya pikir lebih mudah diingat daripada-C
).Pada titik tertentu
tar
ditingkatkan ke dekompresi otomatis. Yang Anda butuhkan sekarang adalah:Penjelasan yang sama berlaku:
f
: Ini harus menjadi bendera terakhir dari perintah, dan tar f ile harus segera setelah. Ini memberitahu tar nama dan jalur file terkompresi.x
: e x traktekan 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).
sumber
Mengingat semua bendera
tar
bisa membosankan. XKCD wajib:Oleh karena itu saya membuat skrip kecil saya sendiri dengan Python untuk melakukan itu. Cepat, kotor,
cp
-seperti dalam penggunaan:Gunakan seperti itu:
Lihat juga skrip serupa untuk membuka ritsleting arsip zip .
sumber
-caf
untuk dibuat berdasarkan nama file dan-xf
untuk mengekstraksi (AFAIK bekerja pada setiap jenis tar).tar xf <file>
?Jawaban cepat:
[ CATATAN ]:
-v
Daftar file yang diproses secara verbal.-z
Saring arsip melalui gzip.-f
Gunakan file arsip atau perangkat ARCHIVE.-x
Ekstrak file dari arsip.-j
bzip2.-xf
archive.tar # Ekstrak semua file dariarchive.tar
.sumber
Jika Anda tidak dapat mengekstraksi
.tar.gz
file menggunakanCoba ekstraksi menggunakan
sumber
Anda bisa melakukan ini juga di langkah pertama:
Kemudian Anda memiliki file: community_images.tar
Langkah kedua adalah:
Dan file * .tar akan diekstraksi.
sumber
tar xvf file.tar.gz
Versi tar modern mana pun dari jarak jauh harus secara otomatis mendeteksi bahwa arsip di-gzip, dan menambahkan "z" untuk Anda.
sumber