Zcat - Command Linux - Unix Command

Nama

gzip, gunzip, zcat - memampatkan atau mengembangkan fail

Sinopsis

gzip [ -acdfhlLnNrtvV19 ] [ -S sufiks ] [ name ... ]
gunzip [ -acfhlLnNrtvV ] [ -S sufiks ] [ name ... ]
zcat [ -fhLV ] [ nama ... ]

Penerangan

Gzip mengurangkan saiz fail bernama menggunakan Lempel-Ziv coding (LZ77). Apabila mungkin, setiap fail digantikan dengan satu dengan .gz lanjutan , sambil mengekalkan mod pemilikan yang sama, akses dan masa pengubahsuaian. (Pelanjutan lalai adalah -gz untuk VMS, z untuk MSDOS, OS / 2 FAT, Windows NT FAT dan Atari.) Jika tiada fail ditentukan, atau jika nama fail "-", input standard dimampatkan kepada standard pengeluaran. Gzip hanya akan cuba memampatkan fail biasa. Khususnya, ia akan mengabaikan pautan simbolik.

Jika nama fail dimampatkan terlalu panjang untuk sistem failnya, gzip memotongnya. Gzip cuba untuk memotong hanya bahagian nama fail lebih daripada 3 aksara. (Bahagian dibatasi oleh titik.) Jika nama hanya terdiri daripada bahagian kecil, bahagian terpanjang dipotong. Sebagai contoh, jika nama fail adalah terhad kepada 14 aksara, gzip.msdos.exe dimampatkan kepada gzi.msd.exe.gz. Nama tidak dipotong pada sistem yang tidak mempunyai had panjang nama fail.

Secara lalai, gzip menyimpan nama fail asal dan cap waktu dalam fail terkompresi. Ini digunakan apabila menghimpun fail dengan pilihan -N . Ini berguna apabila nama fail dimampatkan dipenggal atau apabila setem masa tidak dipelihara selepas pemindahan fail.

Fail dimampatkan boleh dipulihkan ke bentuk asalnya menggunakan gzip -d atau gunzip atau zcat. Jika nama asal disimpan dalam fail terkompresi tidak sesuai untuk sistem failnya, nama baru dibina dari yang asal untuk menjadikannya sah.

gunzip mengambil senarai fail pada baris perintahnya dan menggantikan setiap fail yang namanya berakhir dengan .gz, -gz, .z, -z, _z atau .Z dan yang bermula dengan nombor sihir yang betul dengan fail yang tidak dimampatkan tanpa sambungan asal . gunzip juga mengenali sambungan khusus .tgz dan .taz sebagai shorthands untuk .tar.gz dan .tar.Z masing-masing. Apabila memampatkan, gzip menggunakan pelanjutan .tgz jika perlu dan bukan memotong fail dengan sambungan .tar .

gunzip kini boleh menyahsapkan fail yang dibuat oleh gzip, zip, memampatkan, memampatkan -H atau pek. Pengesanan format input adalah automatik. Apabila menggunakan dua format pertama, gunzip memeriksa CRC 32 bit. Untuk pek, gunzip menyemak panjang tidak terkompresi. Format kompres standard tidak direka untuk membolehkan pemeriksaan konsisten. Walau bagaimanapun gunzip kadangkala dapat mengesan fail .Z yang buruk. Sekiranya anda mendapat ralat apabila tidak mengkompresikan fail .Z , jangan mengandaikan bahawa fail .Z itu betul hanya kerana standard uncompress tidak mengadu. Ini secara amnya bermaksud bahawa uncompress standard tidak memeriksa inputnya, dan dengan senangnya menghasilkan keluaran sampah. Format SCO compress -H (kaedah pemampatan lzh) tidak termasuk CRC tetapi juga membenarkan beberapa pemeriksaan konsistensi.

Fail yang dibuat oleh zip boleh dikompres dengan gzip hanya jika mereka mempunyai ahli tunggal yang dimampatkan dengan kaedah 'deflasi'. Ciri ini bertujuan untuk membantu penukaran fail tar.zip ke format tar.gz. Untuk mengeluarkan fail zip dengan beberapa ahli, gunakan unzip dan bukan gunzip.

zcat adalah sama dengan gunzip -c. (Pada sesetengah sistem, zcat mungkin dipasang sebagai gzcat untuk mengekalkan pautan asal untuk dimampatkan.) Zcat tidak merosot sama ada senarai fail pada baris arahan atau input standardnya dan menulis data yang tidak dikompresi pada output standard. zcat akan memuatkan fail yang mempunyai nombor sihir yang betul sama ada mereka mempunyai akhiran gg atau tidak.

Gzip menggunakan algoritma Lempel-Ziv yang digunakan dalam zip dan PKZIP. Jumlah mampatan yang diperoleh bergantung pada saiz input dan pengedaran substrings umum. Biasanya, teks seperti kod sumber atau bahasa Inggeris dikurangkan sebanyak 60-70%. Mampatan umumnya lebih baik daripada yang dicapai oleh LZW (seperti yang digunakan dalam pemampat ), pengekodan Huffman (seperti yang digunakan dalam pek ), atau pengekodan Huffman adaptif ( padat ).

Mampatan sentiasa dilakukan, walaupun fail terkompresi sedikit lebih besar daripada yang asal. Pengembangan kes terburuk adalah beberapa bait untuk pengepala fail gzip, ditambah 5 bait setiap blok 32K, atau nisbah pengembangan 0.015% untuk fail besar. Ambil perhatian bahawa jumlah blok cakera yang digunakan hampir tidak pernah meningkat. gzip mengekalkan mod, pemilikan dan cap waktu fail apabila memampatkan atau menyahmampatkan.

PILIHAN

-a --ascii

Mod teks Ascii: menukarkan garisan akhir dengan menggunakan konvensyen setempat. Opsyen ini disokong hanya pada beberapa sistem bukan Unix. Untuk MSDOS, CR LF ditukarkan kepada LF apabila memampatkan, dan LF ditukarkan kepada CR LF apabila decompressing.

-c --stdout - untuk stdout

Tulis output pada keluaran standard; menyimpan fail asal tidak berubah. Sekiranya terdapat beberapa fail input, output terdiri daripada urutan ahli yang dimampatkan secara bebas. Untuk mendapatkan pemampatan yang lebih baik, concatenate semua fail input sebelum memampatkannya.

-d --decompress --uncompress

Decompress.

-f --force

Tekan mampatan atau penyahmampatan walaupun fail mempunyai banyak pautan atau fail yang bersamaan sudah ada, atau jika data termampat dibaca atau ditulis ke terminal. Sekiranya data input tidak dalam format yang diiktiraf oleh gzip, dan jika pilihan --stdout juga diberikan, salin data input tanpa perubahan kepada standard ouput: biarkan zcat berkelakuan sebagai kucing. Jika -f tidak diberikan, dan apabila tidak berjalan di latar belakang, gzip meminta untuk mengesahkan sama ada fail yang sedia ada harus ditulis ganti.

-h - membantu

Paparkan skrin bantuan dan berhenti.

-l - senarai

Untuk setiap fail dimampatkan, senaraikan medan berikut:


dimampatkan saiz: saiz fail dimampatkan
saiz yang tidak dimampatkan: saiz fail yang tidak dimampatkan
nisbah: nisbah mampatan (0.0% jika tidak diketahui)
uncompressed_name: nama fail yang tidak dimampatkan

Saiz yang tidak dikompresi diberikan sebagai -1 untuk fail tidak dalam format gzip, seperti fail yang dimampatkan .Z. Untuk mendapatkan saiz yang tidak dimampatkan untuk fail sedemikian, anda boleh menggunakan:


zcat file.Z | wc -c

Dalam kombinasi dengan pilihan --verbose, medan berikut juga dipaparkan:


kaedah: kaedah pemampatan
crc: CRC 32-bit data yang tidak dimampatkan
tarikh & masa: setem masa untuk fail yang tidak dimampatkan

Kaedah mampatan yang disokong adalah mengecil, memampatkan, lzh (SCO compress -H) dan pek. Crc diberikan sebagai ffffffff untuk fail tidak dalam format gzip.

Dengan nama - nama, nama dan tarikh yang tidak dimampatkan adalah yang disimpan di dalam fail kompres jika ada.

Dengan - dinyatakan, jumlah saiz dan nisbah mampatan untuk semua fail juga dipaparkan, kecuali beberapa saiz tidak diketahui. Dengan --quiet, baris tajuk dan jumlah tidak dipaparkan.

-L - lesen

Paparkan lesen gzip dan berhenti.

-n --no-name

Apabila memampatkan, jangan simpan nama fail asal dan setem masa secara lalai. (Nama asal sentiasa disimpan jika nama terpaksa dipotong.) Apabila decompressing, jangan mengembalikan nama fail asal jika ada (hanya keluarkan akhiran gzip dari nama fail terkompresi) dan jangan mengembalikan setem masa asal jika ada (menyalinnya dari fail terkompresi). Pilihan ini adalah lalai apabila decompressing.

-N --name

Apabila memampatkan, sentiasa simpan nama fail asal dan setem masa; ini adalah lalai. Apabila menghimpun, pulihkan nama fail asal dan setem masa jika ada. Opsyen ini berguna pada sistem yang mempunyai had panjang nama fail atau apabila setem masa telah hilang selepas pemindahan fail.

-q --quiet

Menyekat semua amaran.

-r - rekursif

Melancarkan struktur direktori secara rekursif. Jika mana-mana nama fail yang dinyatakan pada baris arahan adalah direktori, gzip akan turun ke dalam direktori dan memampatkan semua fail yang terdapat di sana (atau menguraikannya dalam hal gunzip ).

-S .suf --suffix .suf

Gunakan sufiks .suf instead of .gz. Apa-apa akhiran boleh diberikan, tetapi suffix selain daripada .z dan .gz harus dielakkan untuk mengelakkan kekeliruan apabila fail dipindahkan ke sistem lain. Akhiran batal memaksa gunzip untuk mencuba penyahmampatan pada semua fail yang diberikan tanpa mengira akhiran, seperti dalam:


gunzip -S "" * (*. * untuk MSDOS)

Versi sebelum gzip menggunakan akhiran .z. Ini telah ditukar untuk mengelakkan konflik dengan pek (1).

-t --test

Ujian. Semak integriti fail dimampatkan.

-v - verbose

Verbose. Paparkan nama dan pengurangan peratusan bagi setiap fail yang dimampatkan atau dikompres.

-V --versi

Versi. Paparkan nombor versi dan pilihan kompilasi kemudian keluar.

- # --fast --best

Mengatur laju mampatan menggunakan digit yang ditentukan # , di mana -1 atau - tegas menunjukkan kaedah mampatan terpantas (kurang mampatan) dan -9 atau --best menunjukkan kaedah mampatan yang paling lambat (mampatan terbaik). Tahap mampatan lalai adalah -6 (iaitu, berat sebelah ke arah pemampatan yang tinggi pada perbelanjaan laju).

Penggunaan Lanjutan

Fail yang dimampatkan dengan banyak boleh disatukan. Dalam kes ini, gunzip akan mengekstrak semua ahli sekaligus. Sebagai contoh:


gzip -c file1> foo.gz
gzip -c file2 >> foo.gz

Kemudian


gunzip -c foo

bersamaan dengan


kucing fail1 file2

Dalam kes kerosakan kepada satu ahli fail .gz, ahli lain masih boleh dipulihkan (jika ahli rosak dikeluarkan). Walau bagaimanapun, anda boleh mendapatkan pemampatan yang lebih baik dengan memampatkan semua ahli sekaligus:


cat file1 file2 | gzip> foo.gz

memampatkan lebih baik daripada


gzip -c file1 file2> foo.gz

Sekiranya anda ingin mengompresikan fail yang disambungkan untuk mendapatkan mampatan yang lebih baik, lakukan:


gzip -cd old.gz | gzip> new.gz

Jika fail dimampatkan terdiri daripada beberapa ahli, saiz yang tidak dimampatkan dan CRC yang dilaporkan oleh pilihan - senarai terpakai kepada ahli terakhir sahaja. Sekiranya anda memerlukan saiz yang tidak dimampatkan untuk semua ahli, anda boleh menggunakan:


gzip -cd file.gz | wc -c

Sekiranya anda ingin membuat fail arkib tunggal dengan berbilang ahli supaya ahli-ahli kemudiannya boleh diekstrak secara berasingan, gunakan arkib seperti tar atau zip. GNU tar menyokong pilihan -z untuk menggunakan gzip secara telus. gzip direka sebagai pelengkap untuk tar , bukan sebagai pengganti.

LIHAT JUGA

memampatkan (1)

Format fail gzip dinyatakan dalam P. Deutsch, spesifikasi format file GZIP versi 4.3, , Internet RFC 1952 (Mei 1996). Format pengunduran zip dinyatakan dalam P. Deutsch, Spesifikasi Format Data Mampatan DEBAT versi 1.3, , Internet RFC 1951 (Mei 1996).

Penting: Gunakan arahan lelaki ( % man ) untuk melihat bagaimana arahan digunakan pada komputer tertentu anda.