Saya memiliki tar.gz
file 32 GB. Saya mencoba untuk mengekstrak folder tertentu dari itu jadi saya daftar isinya dengan perintah berikut untuk melihat struktur file:
tar -tvf file.tar.gz > files.txt
Tampaknya butuh selamanya untuk membuat daftar semua file. Pertanyaan saya adalah apakah flag -t mengekstrak file juga? Saya tahu itu tidak mengekstrak pada disk tetapi jumlah waktu yang dibutuhkan membuat saya bertanya-tanya apakah itu benar-benar memprosesnya dalam semacam buffer.
command-line
tar
Saif
sumber
sumber
-z
pilihan:tar -tvfz
. Mirip: Apa yang terjadi jika Anda menggunakan perintah tar tvf sebagai lawan dari tar tvfz?Jawaban:
file tar.gz tidak memiliki indeks. Tidak seperti zip atau format arsip lainnya, tidaklah sepele atau murah untuk mendapatkan daftar file yang terkandung atau metadata lainnya. Untuk menunjukkan kepada Anda file mana yang terkandung dalam arsip, tar memang perlu mengompres arsip dan mengekstrak file, meskipun dalam kasus
-t
opsi itu hanya dalam memori.Jika pola umum dalam kasus penggunaan Anda adalah untuk mencantumkan file yang ada dalam arsip, Anda mungkin ingin mempertimbangkan untuk menggunakan format arsip yang dapat menambahkan indeks file ke file terkompresi, misalnya zip.
Mungkin Anda juga ingin melihat format HDF5 untuk skenario yang lebih kompleks.
Pengukuran
Saya hanya perlu melakukan beberapa pengukuran untuk membuktikan jawaban saya dan membuat beberapa direktori dengan banyak file di dalamnya dan mengemasnya di mana keduanya,
tar czf files#.tgz files#
danzip -r files#.zip files#
.Untuk pengujian saya menjalankan perintah unpacking dua kali setiap kali dan mengambil hasil dari menjalankan kedua, untuk menghindari pengukuran kecepatan disk.
Tes 1
Direktori yang
files1
berisi 100.000 file kosong .zip lebih lambat di sini.
Tes 2
Direktori yang
files2
berisi 5.000 file dengan masing-masing 512 byte data acak.Masih tidak meyakinkan, tetapi zip kali ini lebih cepat.
Tes 3
Direktori yang
files3
berisi 5.000 file dengan masing-masing data acak 5kB .Dalam tes ini dapat dilihat bahwa semakin besar file yang didapat, semakin sulit bagi tar untuk mendaftarkannya.
Kesimpulan
Bagi saya kelihatannya zip memperkenalkan sedikit overhead yang akan Anda perhatikan hanya dengan banyak file yang sangat kecil (hampir kosong), sedangkan untuk sejumlah besar file yang lebih besar ia memenangkan kontes ketika mendaftarkan file yang terdapat dalam arsip.
sumber