Ini adalah perintah dictunzip yang dapat dijalankan di penyedia hosting gratis OnWorks menggunakan salah satu dari beberapa workstation online gratis kami seperti Ubuntu Online, Fedora Online, emulator online Windows atau emulator online MAC OS
PROGRAM:
NAMA
dictzip, dictunzip - kompres (atau perluas) file, memungkinkan akses acak
RINGKASAN
dictzip [Pilihan] nama
dictunzip [Pilihan] nama
DESKRIPSI
dictzip kompres file menggunakan gzip(1) algoritma (LZ77) dengan cara yang
sepenuhnya kompatibel dengan gzip format berkas. Perpanjangan ke gzip format file
(Bidang Ekstra, dijelaskan dalam 2.3.1.1 dari RFC 1952) memungkinkan data tambahan disimpan di
header dari file terkompresi. Program seperti gzip dan zcat akan mengabaikan data tambahan ini.
Namun, dikte(8), server kamus protokol DICT akan menggunakan data ini untuk
melakukan akses pseudo-acak pada file. File di dictzip format harus diakhiri dengan ".dz"
sehingga mereka dapat dibedakan dari yang umum gzip file yang tidak mengandung spesial
informasi tajuk.
Dari RFC 1952, bidang tambahan ditentukan sebagai berikut:
Jika bit FLG.FEXTRA diatur, "bidang tambahan" ada di header, dengan total
panjang XLEN byte. Ini terdiri dari serangkaian subbidang, masing-masing bentuk:
+---+---+---+---+================================== =+
|SI1|SI2| LEN |... LEN byte data subbidang ...|
+---+---+---+---+================================== =+
SI1 dan SI2 memberikan ID subbidang, biasanya dua huruf ASCII dengan beberapa mnemonik
nilai. Jean-Loup Gailly[email dilindungi]> memelihara registri dari
ID subbidang; tolong kirimkan ID subbidang apa pun yang ingin Anda gunakan. ID subbidang dengan
SI2 = 0 dicadangkan untuk penggunaan di masa mendatang.
LEN memberikan panjang data subbidang, tidak termasuk 4 byte awal.
dictzip program menggunakan 'R' untuk SI1, dan 'A' untuk SI2 (yaitu, "Akses Acak"). Setelah
bidang LEN, data disusun sebagai berikut:
+---+---+---+---+---+---+========================== ======+
| VER | CHLE | CHCNT | ... kata data CHCNT ... |
+---+---+---+---+---+---+========================== ======+
Sesuai RFC 1952, semua data disimpan byte paling tidak signifikan terlebih dahulu. Untuk VER 1 dari data,
semua nilai panjangnya 16-bit (2 byte), dan merupakan bilangan bulat yang tidak ditandatangani.
XLEN (yang ditentukan sebelumnya di header) adalah bilangan bulat dua byte, jadi bidang tambahan
panjangnya bisa 0xffff byte, 2 byte di antaranya digunakan untuk ID subbidang (SI1 dan SI1), dan
2 byte di antaranya digunakan untuk panjang subbidang (LEN). Ini menyisakan 0xfffb byte (0x7ffd
entri 2-byte atau entri 0x3ffe 4-byte). Mengingat bahwa buffer output zip harus 10% +
12 byte lebih besar dari buffer input, kami dapat menyimpan 58969 byte per entri, atau sekitar 1.8GB
jika entri 2-byte digunakan. Jika ini menjadi faktor pembatas, versi format lain
dapat dipilih dan ditentukan untuk entri 4-byte.
Untuk kompresi, file dibagi menjadi "potongan" data, setiap potongan kurang dari
64kB, dan dapat dikompresi menjadi area yang panjangnya juga kurang dari 64kB (mengambil
data yang tidak dapat dimampatkan ke dalam akun - biasanya data dikompresi menjadi blok yang
jauh lebih kecil dari aslinya). Bidang CHLEN menentukan panjang "potongan" dari
data. Bidang CHCNT menentukan berapa banyak potongan yang telah ditetapkan, dan kata-kata data CHCNT
menentukan berapa lama setiap potongan setelah kompresi (yaitu, dalam file terkompresi saat ini).
Untuk melakukan akses acak pada data, offset dan panjang data disediakan untuk
rutinitas perpustakaan. Rutinitas ini menentukan potongan di mana data yang diinginkan dimulai,
dan mendekompresi potongan itu. Potongan berturut-turut didekompresi seperlunya.
TRADEOFF
Kecepatan Akses file acak yang sebenarnya tidak direalisasikan, karena akses apa pun, bahkan untuk satu byte,
mengharuskan potongan 64kB dibaca dan didekompresi. Ini lebih lambat daripada mengakses
file teks datar, tetapi jauh, jauh lebih cepat daripada melakukan akses serial secara penuh
berkas terkompresi.
Space Untuk database kamus tekstual yang kami kerjakan, penggunaan potongan 64kB
dan kompresi LZ77 maksimal mewujudkan file yang hanya sekitar 4% lebih besar dari
file yang sama dikompresi sekaligus.
PILIHAN
-d or --dekompresi
Dekompresi. Ini adalah default jika executable disebut dictunzip.
-c or --stdout
Tulis keluaran pada keluaran standar; menyimpan file asli tidak berubah. Hanya ini
tersedia saat dekompresi (karena bagian dari header harus diperbarui setelah a
tulis saat mengompresi).
-f or --memaksa
Memaksa kompresi atau dekompresi meskipun file output sudah ada.
-h or --membantu
Tampilkan bantuan.
-k or --menyimpan
Jangan hapus file aslinya.
-l or --Daftar
Untuk setiap file terkompresi, buat daftar bidang berikut:
ketik: dzip, gzip, atau teks (termasuk file dalam format yang tidak dikenal)
crc: checksum CRC
tanggal dan waktu: dari header
potongan: jumlah potongan dalam file
ukuran: ukuran setiap potongan yang tidak terkompresi
compr.: ukuran terkompresi
uncompr.: ukuran tidak terkompresi
rasio: rasio kompresi (0.0% jika tidak diketahui)
nama: nama file yang tidak terkompresi
Berbeda gzip, metode kompresi tidak terdeteksi.
-L or --lisensi
Tampilkan dictzip lisensi dan berhenti.
-t or --tes
Periksa integritas file terkompresi. Opsi ini tidak diterapkan. Sebaliknya, itu
akan mencantumkan informasi header.
-v or --bertele-tele
Verbose. Menampilkan informasi tambahan selama kompresi.
-V or --Versi: kapan
Versi: kapan. Tampilkan nomor versi dan opsi kompilasi lalu keluar.
-s awal or --Mulailah awal
Tentukan penawaran untuk memulai dekompresi, menggunakan angka desimal. Standarnya adalah di
awal berkas.
-e ukuran or --ukuran ukuran
Tentukan ukuran bagian file yang akan didekompresi, menggunakan angka desimal.
Defaultnya adalah seluruh file.
-S awal or --Awal awal
Tentukan penawaran untuk memulai dekompresi, menggunakan nomor base64. Standarnya adalah di
awal berkas.
-E ukuran or --Ukuran awal
Tentukan ukuran porsi file yang akan didekompresi, menggunakan angka base64.
Defaultnya adalah seluruh file.
-p filter awal or --pra filter awal
Tentukan perintah shell untuk dijalankan sebagai filter sebelum kompresi atau dekompresi
dari sepotong. Filter pra dan pasca kompresi dapat digunakan untuk menyediakan
kompresi tambahan atau pemformatan output. Filter mungkin tidak meningkatkan
ukuran buffer secara signifikan. Filter pra dan pasca kompresi dirancang untuk
menyediakan antarmuka yang paling umum mungkin.
-P pascafilter or --Pos pascafilter
Tentukan perintah shell untuk dijalankan sebagai filter setelah kompresi atau dekompresi.
KREDIT
dictzip ditulis oleh Rik Faith ([email dilindungi]) dan didistribusikan di bawah ketentuan
Lisensi Publik Umum GNU. Jika Anda perlu mendistribusikan dengan persyaratan lain, tulis ke
penulis.
Pustaka utama yang digunakan oleh program ini (zlib, regex, libmaa) didistribusikan di bawah
istilah yang berbeda, sehingga Anda mungkin dapat menggunakan perpustakaan untuk aplikasi yang
tidak kompatibel dengan GPL -- silakan lihat pemberitahuan hak cipta dan informasi lisensi yang
datang dengan perpustakaan untuk informasi lebih lanjut, dan konsultasikan dengan pengacara Anda untuk menyelesaikannya
masalah ini.
Gunakan dictunzip online menggunakan layanan onworks.net