Pertanyaan Perintah apa yang saya perlukan unzip / ekstrak file .tar.gz?


Saya menerima file .tar.gz yang besar dari klien yang berisi sekitar 800 mb file gambar (bila tidak dikompresi.) Ftp perusahaan hosting kami sangat lambat, sehingga mengekstrak semua file secara lokal dan mengirimnya melalui ftp tidak praktis. Saya bisa 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 saya perlukan untuk mengekstrak semua file dalam file .tar.gz?


627
2018-02-08 22:50


asal




Jawaban:


Mengetik 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 menerapkan kompresi, maka ekstensi gz. Jadi perintah melakukan beberapa hal:

  • f: ini harus menjadi bendera terakhir dari perintah, dan tar file harus segera setelah. Ini memberitahu tar nama dan path dari file yang dikompresi.
  • z: memberitahu tar untuk mendekompresi arsip menggunakan gzaku p
  • x: tar dapat mengumpulkan file atau extraktat mereka. x apakah yang terakhir.
  • v: membuat tar banyak bicara. Verbose output menunjukkan Anda semua file yang diekstraksi.

1058
2018-02-08 22:57



@Shiki Saya melihat suntingan yang Anda usulkan. Saya tidak berpikir ini adalah perubahan yang tepat, saya lebih suka cara saya menjelaskan alat ini. saya melakukan pikirkan Anda tar -xf saran akan menjadi jawaban tambahan yang bagus. - djeikyb
Ini adalah salah satu penjelasan yang lebih baik dari jutaan pertanyaan yang sama-sama diungkapkan - JohnMerlino
@KasunSiyambalapitiya Secara default, berakhir di folder saat ini. Lihat juga man tar; mencari -C pilihan. Atau mungkin memeriksa jawaban yang lain - djeikyb
@nikoss saya tambahkan v beralih sepanjang waktu karena saya seperti melihat daftar file selama ekstraksi. mengajar ini juga mempersiapkan pembaca untuk perintah tar lain seperti tar -tvf foo.tar yang menampilkan isi arsip tanpa mengekstraksi. - djeikyb
Mengingatkan saya tentang Artikel xckd tentang tar.Saya harus kembali setiap kali. - mgarey


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: ~ / Gambar / Komunitas

Contoh:

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

Anda dapat dengan mudah menghafalnya jika Anda mempertimbangkan untuk memberi tahu ter ke e X traktat a F ile

gif of process done at terminal

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


130
2017-08-20 11:02



jangan lupa C untuk "change direktori "! juga, saya merasa lebih baik untuk tidak mencampur tanda hubung dan opsi non-tanda hubung (terutama membingungkan saat menggunakan ps). - djeikyb
Kenapa tidak seperti setiap perintah lainnya? - Jan M.
Saya suka petunjuk Anda 'tar to e X tract a F ile' - Nam G VU
1+ untuk gif animasi - Nick Steele


Dalam beberapa kasus tar ditingkatkan menjadi dekompres 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 memberitahu tar nama dan path dari file yang dikompresi.
  • x: extraktat file.

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


89
2017-12-31 23:54



Apakah ada dokumentasi tentang ini? Saya telah mencari di seluruh referensi untuk ini, saya tidak pernah menggunakan -z flag dan semuanya menjadi gzip jadi saya khawatir jika saya belum mengompresi tarballs saya sama sekali, haha. Terima kasih. - neurosnap
@neurosnap melihat manual gnu dan dari panduan bsd - djeikyb
Mungkin akan lebih baik untuk mengedit jawaban asli Anda. - Seth♦
Sungguh terasa / terasa cukup berbeda untuk menjadi jawaban tersendiri, terutama dalam konteks pengeditan destruktif yang memprovokasi itu. Saya akan memikirkannya kembali setelah bekerja, mungkin cara yang lebih sederhana untuk menggabungkan daripada yang saya pikirkan. - djeikyb
@EnricoMariaDeAngelis bsd tar setidaknya sejak 2004 dan gnu tar setidaknya sejak 2010 telah mendukung auto-memilih dekompresor. tidak mungkin versi "terbaru" (abad ini? sembilan puluhan +?) membutuhkan secara manual memilih dekompresor. - djeikyb


Jika Anda tidak dapat mengekstrak .tar.gz file menggunakan

tar -xvzf fileName.tar.gz

Coba ekstraksi menggunakan

tar xf fileName.tar.gz

4
2018-01-05 06:29



jika itu adalah file tar gzip, perintah pertama akan selalu bekerja. jika tidak berfungsi, Anda tidak memiliki file tar gzip. perintah terakhir adalah rekomendasi yang bagus untuk orang-orang yang tidak peduli apa algoritma kompresi yang digunakan pada file tar mereka. - djeikyb