ឈ្មោះ
gzip, gunzip, zcat - បង្ហាប់ឬពង្រីកឯកសារ
សង្ខេប
gzip [ -acdfhlLnNrtvV19 ] [ -Sxtix ] [ ឈ្មោះ ... ]
gunzip [ -acfhlLnNrtvV ] [ -Sxtix ] [ ឈ្មោះ ... ]
zcat [ -fhLV ] [ ឈ្មោះ ... ]
ការពិពណ៌នា
Gzip ជួយកាត់បន្ថយទំហំនៃឯកសារដែលមានឈ្មោះដោយប្រើកូដ Lempel-Ziv (LZ77) ។ នៅពេលដែលអាចធ្វើទៅបានឯកសារនីមួយៗត្រូវបានជំនួសដោយមួយដែលមានកន្ទុយ។ gz ខណៈពេលដែលអ្នករក្សារបៀបម្ចាស់កម្មសិទ្ធពេលវេលាចូលនិងកែប្រែ។ (ផ្នែកបន្ថែមលំនាំដើមគឺ -gz សម្រាប់ VMS, z សម្រាប់ MSDOS, OS / 2 FAT, Windows NT FAT និង Atari ។ ) ប្រសិនបើគ្មានឯកសារត្រូវបានបញ្ជាក់ឬប្រសិនបើឈ្មោះឯកសារគឺ "-" នោះការបញ្ចូលស្តង់ដារត្រូវបានបង្ហាប់ទៅស្តង់ដារ ទិន្នផល។ Gzip នឹងប៉ុនប៉ងបង្ហាប់ឯកសារធម្មតាប៉ុណ្ណោះ។ ជាពិសេសវានឹងមិនអើពើតំណនិមិត្តសញ្ញា។
ប្រសិនបើឈ្មោះឯកសារដែលបានបង្ហាប់វែងពេកសម្រាប់ប្រព័ន្ធឯកសាររបស់វា gzip កាត់វាចោល។ Gzip ព្យាយាមកាត់តែផ្នែករបស់ឈ្មោះឯកសារដែលមានប្រវែងវែងជាង 3 តួ។ (ផ្នែកមួយត្រូវបានកំណត់ដោយចំនុច។ ) ប្រសិនបើឈ្មោះមានតែផ្នែកតូចប៉ុណ្ណោះផ្នែកវែងបំផុតត្រូវបានកាត់ឱ្យខ្លី។ ឧទាហរណ៍ប្រសិនបើឈ្មោះឯកសារត្រូវបានកំណត់ត្រឹម 14 តួអក្សរ gzip.msdos.exe ត្រូវបានបង្ហាប់ទៅ gzi.msd.exe.gz. ឈ្មោះមិនត្រូវបានកាត់ឱ្យខ្លីនៅលើប្រព័ន្ធដែលមិនមានដែនកំណត់លើប្រវែងឈ្មោះឯកសារទេ។
តាមលំនាំដើម gzip រក្សាឈ្មោះឯកសារនិងត្រាពេលវេលានៅក្នុងឯកសារដែលបានបង្ហាប់។ ទាំងនេះត្រូវបានប្រើនៅពេលពន្លាឯកសារដោយជម្រើស -N ។ វាមានប្រយោជន៍នៅពេលឈ្មោះឯកសារដែលបានបង្ហាប់ត្រូវបានកាត់ឱ្យខ្លីឬនៅពេលត្រាមិនត្រូវបានរក្សាទុកបន្ទាប់ពីការផ្ទេរឯកសារ។
ឯកសារដែលបានបង្ហាប់ អាចត្រូវបានស្ដារឡើងវិញទៅទម្រង់ដើមរបស់ពួកគេដោយប្រើ gzip -d ឬ gunzip ឬ zcat ។ ប្រសិនបើឈ្មោះដើមដែលបានរក្សាទុកក្នុងឯកសារដែលបានបង្ហាប់គឺមិនសមស្របសម្រាប់ប្រព័ន្ធឯកសារទេនោះឈ្មោះថ្មីត្រូវបានបង្កើតឡើងពីឯកសារដើមដើម្បីឱ្យវាស្របច្បាប់។
gunzip ត្រូវការបញ្ជីឯកសារនៅលើបន្ទាត់ពាក្យបញ្ជារបស់វាហើយជំនួសឯកសារនីមួយៗដែលឈ្មោះរបស់វាបញ្ចប់ដោយ .gz, -gz, .z, -z, _z ឬ .Z ហើយដែលចាប់ផ្ដើមដោយលេខវេទមន្តត្រឹមត្រូវជាមួយនឹងឯកសារដែលមិនបានពន្លាដោយគ្មានផ្នែកបន្ថែមដើម។ ។ gunzip ក៏ទទួលស្គាល់ផ្នែកបន្ថែមពិសេស .tgz និង .taz ដែលជាអក្សរសម្រាប់ .tar.gz និង .tar.Z រៀងគ្នា។ នៅពេលបង្ហាប់ gzip ប្រើផ្នែកបន្ថែម .tgz បើចាំបាច់ជំនួសឱ្យការកាត់ថតដោយប្រើផ្នែកបន្ថែម។ tar ។
gunzip បច្ចុប្បន្នអាចពន្លាឯកសារដែលបង្កើតដោយ gzip, zip, បង្ហាប់, បង្ហាប់ -H ឬ កញ្ចប់។ ការរកឃើញនៃទ្រង់ទ្រាយបញ្ចូលគឺដោយស្វ័យប្រវត្តិ។ នៅពេលប្រើទម្រង់ទី 2 ដំបូង កាំភ្លើងស៊ីស្យុង ត្រួតពិនិត្យ 32 ប៊ីត CRC ។ សម្រាប់ កញ្ចប់ gunzip ត្រួតពិនិត្យប្រវែងដែលមិនបានបង្ហាប់។ ទ្រង់ទ្រាយ បង្ហាប់ ស្តង់ដារមិនត្រូវបានរចនាឡើងដើម្បីអនុញ្ញាតឱ្យមានការត្រួតពិនិត្យភាពស៊ីសង្វាក់។ ទោះជាយ៉ាងណាក៏ដោយ កាំភ្លើង គឺអាចរកឃើញនូវឯកសារ Z ។ ប្រសិនបើអ្នកទទួលបានកំហុសនៅពេលមិនបង្ហាប់ ឯកសារ Z ។ កុំសន្មតថាឯកសារ .Z ត្រឹមត្រូវទេព្រោះការ ពន្លាឯកសារ ស្តង់ដាមិនត្អូញត្អែរ។ នេះជាទូទៅមានន័យថាការ បង្ហៀរ ស្តង់ដារមិនពិនិត្យការបញ្ចូលរបស់វាទេហើយរីករាយបង្កើតលទ្ធផលសំរាម។ ទ្រង់ទ្រាយបង្ហាប់ SCO -H (វិធីសាស្រ្តបង្ហាប់ lzh) មិនរួមបញ្ចូលកាកបាទក្រហមកម្ពុជាទេប៉ុន្តែក៏អនុញ្ញាតឱ្យមានការពិនិត្យភាពត្រឹមត្រូវមួយចំនួន។
ឯកសារដែលបានបង្កើតដោយ zip អាចមិនត្រូវបានបង្ហាប់ដោយ gzip បានទេប្រសិនបើពួកវាមានសមាជិកតែមួយដែលបានបង្ហាប់ដោយវិធីសាស្ត្រ 'deflation' ។ លក្ខណៈពិសេសនេះមានគោលបំណងជួយការបម្លែងឯកសារ tar.zip ទៅជាទម្រង់ tar.gz ។ ដើម្បីទាញយកឯកសារហ្ស៊ីបដែលមានសមាជិកច្រើនប្រើការ ពន្លា ជំនួសឱ្យការ បាញ់កាំភ្លើង។
zcat គឺដូចគ្នាបេះបិទទៅ gunzip -c ។ (នៅលើប្រព័ន្ធមួយចំនួន zcat អាចត្រូវបានដំឡើងជា gzcat ដើម្បីរក្សាតំណដើមដើម្បី បង្ហាប់។ ) zcat មិនបង្រួមបញ្ជីឯកសារនៅលើបន្ទាត់ពាក្យបញ្ជាឬការបញ្ចូលស្តង់ដាររបស់វាហើយសរសេរទិន្នន័យដែលមិនបានបង្ហាប់នៅលើលទ្ធផលស្តង់ដារ។ zcat នឹងពន្លាឯកសារដែលមានលេខទិព្វត្រឹមត្រូវថាតើពួកគេមានបច្ច័យ .gz ឬអត់។
Gzip ប្រើក្បួនដោះស្រាយ Lempel-Ziv ដែលត្រូវបានប្រើក្នុង zip និង PKZIP ។ ចំនួននៃការបង្ហាប់ដែលទទួលបានអាស្រ័យលើទំហំនៃការបញ្ចូលនិងការចែកចាយនៃខ្សែអក្សររង។ ជាធម្មតាអត្ថបទដូចជាប្រភពកូដឬភាសាអង់គ្លេសត្រូវបានកាត់បន្ថយដោយ 60-70% ។ ការបង្ហាប់ជាទូទៅល្អប្រសើរជាងអ្វីដែលសម្រេចបានដោយ LZW (ដែលត្រូវបានប្រើក្នុង ការបង្ហាប់ ), Huffman coding (ដូចបានប្រើនៅក្នុង កញ្ចប់ ) ឬ Huffman ប្រែប្រួលសរសេរកូដ ( បង្រួម ) ។
ការបង្ហាប់ត្រូវបានអនុវត្តជានិច្ចទោះបីឯកសារដែលបានបង្ហាប់មានទំហំធំជាងដើម។ ការពង្រីកករណីដ៏អាក្រក់បំផុតគឺមានពីរបីបៃសម្រាប់បឋមកថាឯកសារ gzip បូក 5 បៃរាល់ 32K ប្លុកឬកំនើននៃ 0.015% សម្រាប់ឯកសារធំ។ ចំណាំថាចំនួនពិតប្រាកដនៃប្លុកឌីសដែលបានប្រើស្ទើរតែមិនកើនឡើង។ gzip ថែរក្សារបៀបភាពជាម្ចាស់និងត្រាពេលវេលានៃឯកសារនៅពេលបង្ហាប់ឬបង្រួម។
ជម្រើស
- a - escii
របៀបអត្ថបទ Ascii: បម្លែងចុងបន្ទាត់នៃបន្ទាត់ដោយប្រើអនុសញ្ញាមូលដ្ឋាន។ ជម្រើសនេះត្រូវបានគាំទ្រតែលើប្រព័ន្ធដែលមិនមែនជាយូនីកប៉ុណ្ណោះ។ សម្រាប់ MSDOS CR LF ត្រូវបានបម្លែងទៅជា LF នៅពេលបង្ហាប់ហើយ LF ត្រូវបានបម្លែងទៅជា CR LF នៅពេល decompressing ។
-c --stdout --to-stdout
សរសេរលទ្ធផលលើលទ្ធផលស្តង់ដារ រក្សាឯកសារដើមមិនផ្លាស់ប្តូរ។ ប្រសិនបើមានឯកសារបញ្ចូលច្រើន, លទ្ធផលមានលំដាប់នៃសមាជិកដែលបានបង្ហាប់ឯករាជ្យ។ ដើម្បីទទួលបានការបង្ហាប់កាន់តែប្រសើរសូមភ្ជាប់ឯកសារបញ្ចូលទាំងអស់មុនពេលបង្ហាប់ពួកវា។
-d - ពន្លា - ពន្លា
ពន្លា។
-f - កម្លាំង
បង្ខំឱ្យបង្ហាប់ឬបង្ហាប់បើទោះបីជាឯកសារមានតំណច្រើនឬឯកសារដែលមានរួចហើយឬប្រសិនបើទិន្នន័យដែលបានបង្ហាប់ត្រូវបានអានឬសរសេរទៅស្ថានីយក៏ដោយ។ ប្រសិនបើទិន្នន័យបញ្ចូលមិនមានទ្រង់ទ្រាយដែលត្រូវបានទទួលស្គាល់ដោយ gzip ហើយប្រសិនបើជម្រើស --stdout ត្រូវបានផ្តល់ផងដែរចម្លងទិន្នន័យបញ្ចូលដោយមិនចាំបាច់ផ្លាស់ប្តូរទៅជាកូដស្តង់ដារ: សូមអោយ zcat ធ្វើជា ឆ្មា។ បើ -f មិនត្រូវបានផ្តល់ឱ្យហើយនៅពេលមិនដំណើរការក្នុងផ្ទៃខាងក្រោយ gzip prompts ដើម្បីផ្ទៀងផ្ទាត់ថាតើឯកសារដែលមានស្រាប់គួរតែត្រូវបានសរសេរជាន់លើ។
- ម៉ោង - ជំនួយ
បង្ហាញអេក្រង់ជំនួយនិងចេញ។
- l - បញ្ជី
សម្រាប់ឯកសារដែលបានបង្ហាប់នីមួយៗសូមរាយវាលខាងក្រោមនេះ:
ទំហំដែលបានបង្ហាប់: ទំហំនៃឯកសារដែលបានបង្ហាប់
ទំហំមិនបានបង្ហាប់: ទំហំនៃឯកសារដែលមិនបានបង្ហាប់
សមាមាត្រ: សមាមាត្រការបង្ហាប់ (0.0% បើមិនស្គាល់)
ឈ្មោះមិនបានបង្ហាប់: ឈ្មោះឯកសារដែលមិនបានបង្ហាប់
ទំហំមិនបានបង្ហាប់ត្រូវបានផ្តល់ជា -1 សម្រាប់ឯកសារដែលមិនមានទ្រង់ទ្រាយ gzip ដូចជាឯកសារ .Z ដែលបានបង្ហាប់។ ដើម្បីទទួលបានទំហំដែលមិនបានបង្ហាប់សម្រាប់ឯកសារបែបនេះអ្នកអាចប្រើ:
zcat file ។ Z | wc-c
រួមបញ្ចូលគ្នាជាមួយជម្រើស --verbose វាលដូចខាងក្រោមត្រូវបានបង្ហាញផងដែរ:
វិធីសាស្ត្រ: វិធីសាស្ត្របង្ហាប់
CRC: ស៊ីស្កូ 32 ប៊ីតនៃទិន្នន័យដែលមិនបានបង្ហាប់
កាលបរិច្ឆេទនិងពេលវេលា: ត្រាពេលវេលាសម្រាប់ឯកសារដែលមិនបង្ហាប់
វិធីសាស្ត្របង្ហាប់ដែលគាំទ្របច្ចុប្បន្នគឺ deflate បង្រួម lzh (SCO compress -H) និងកញ្ចប់។ crc ត្រូវបានផ្តល់ជា ffffffff សម្រាប់ឯកសារមួយដែលមិនមែនជាទ្រង់ទ្រាយ gzip ។
ជាមួយ - ឈ្មោះ, ឈ្មោះដែលមិនបានពន្លា, កាលបរិច្ឆេទនិងពេលវេលាគឺជាឯកសារដែលត្រូវបានរក្សាទុកនៅក្នុងឯកសារបង្ហាប់ប្រសិនបើមាន។
ជាមួយ - verbose ទំហំសរុបនិងសមាមាត្រការបង្ហាប់សម្រាប់ឯកសារទាំងអស់ត្រូវបានបង្ហាញផងដែរលុះត្រាតែទំហំមួយចំនួនមិនត្រូវបានគេស្គាល់។ ជាមួយ - ពិតប្រាកដបន្ទាត់ចំណងជើងនិងសរុបមិនត្រូវបានបង្ហាញទេ។
-L - អាជ្ញាប័ណ្ណ
បង្ហាញអាជ្ញាប័ណ្ណ gzip ហើយចៀសវាង។
- n - គ្មានឈ្មោះ
នៅពេលបង្ហាប់កុំរក្សាទុកឈ្មោះឯកសារដើមនិងត្រាពេលវេលាតាមលំនាំដើម។ (ឈ្មោះដើមត្រូវបានរក្សាទុកជានិច្ចប្រសិនបើឈ្មោះត្រូវបានកាត់ឱ្យខ្លី) ។ នៅពេលពន្លាកុំស្តារឈ្មោះឯកសារដើមប្រសិនបើមានវត្តមាន (យកចេញតែបច្ច័យ gzip ពីឈ្មោះឯកសារដែលបានបង្ហាប់) ហើយកុំស្ដារត្រាពេលវេលាដើមប្រសិនបើមាន (ចម្លងវាពីឯកសារដែលបានបង្ហាប់) ។ ជម្រើសនេះគឺជាលំនាំដើមនៅពេលពន្លា។
ឈ្មោះ -
នៅពេលដែលការបង្ហាប់ត្រូវរក្សាទុកឈ្មោះឯកសារនិងត្រាពេលវេលាដើម។ នេះជាលំនាំដើម។ នៅពេលពន្លាសូមស្តារឈ្មោះឯកសារដើមនិងត្រាពេលវេលាប្រសិនបើមាន។ ជម្រើសនេះមានប្រយោជន៍នៅលើប្រព័ន្ធដែលមានដែនកំណត់លើប្រវែងឈ្មោះឯកសារឬពេលដែលត្រាត្រូវបានបាត់បង់បន្ទាប់ពីផ្ទេរឯកសារ។
-q - ពិតប្រាកដ
រារាំងការព្រមានទាំងអស់។
- r - ត្រលប់មកវិញ
ធ្វើដំណើររចនាសម្ព័ន្ធថតឡើងវិញ។ ប្រសិនបើឈ្មោះឯកសារណាមួយដែលបានបញ្ជាក់នៅលើបន្ទាត់ពាក្យបញ្ជាមានថតចម្លងនោះ gzip នឹងចុះមកក្នុងថតនិងបង្ហាប់ឯកសារទាំងអស់ដែលវារកឃើញនៅទីនោះ (ឬពន្លាពួកវាក្នុងករណីដែលមាន កាំភ្លើង ) ។
- S .suf - suffix .suf
ប្រើបច្ច័យ .suf ជំនួសឱ្យ .gz ។ បច្ច័យអាចត្រូវបានផ្តល់ប៉ុន្តែបច្ច័យក្រៅពី .z និង .gz គួរតែត្រូវបានជៀសវាងដើម្បីជៀសវាងការភាន់ច្រលំនៅពេលឯកសារត្រូវបានផ្ទេរទៅប្រព័ន្ធផ្សេងទៀត។ ស៊េរីបច្ច័យណាមួយបង្ខំឱ្យប្រើកាំភ្លើងដើម្បីពន្លាឯកសារទាំងអស់ដែលបានផ្ដល់ដោយមិនគិតពីបច្ច័យដូចក្នុង:
gunzip -S "" * (* ។ * សម្រាប់ MSDOS)
ជំនាន់មុនរបស់ gzip ប្រើបច្ច័យ .z ។ នេះត្រូវបានផ្លាស់ប្តូរដើម្បីជៀសវាងការប៉ះទង្គិចជាមួយ កញ្ចប់ (1) ។
- ត -
សាកល្បង។ ពិនិត្យភាពត្រឹមត្រូវនៃឯកសារដែលបានបង្ហាប់។
-v - កិរិយាស័ព្ទ
បរិយាយ។ បង្ហាញឈ្មោះនិងការកាត់ភាគរយសម្រាប់ឯកសារដែលបានបង្ហាប់ឬបង្ហាប់។
-V - កំណែ
កំណែ។ បង្ហាញលេខកំណែនិងជម្រើសនៃការចងក្រងបន្ទាប់មកបញ្ឈប់។
- # - លឿន - ល្អបំផុត
គ្រប់គ្រងល្បឿននៃការបង្ហាប់ដោយប្រើលេខដែលបានបញ្ជាក់លេខ # ដែល -1 ឬ - - លឿនបង្ហាញវិធីសាស្ត្របង្ហាប់ដែលលឿនបំផុត (ការបង្រួមតិច) និង -9 ឬ - ល្អ បំផុតបង្ហាញពីវិធីបង្ហាប់យឺតបំផុត (ការបង្ហាប់ដែលល្អបំផុត) ។ កម្រិតការបង្ហាប់លំនាំដើមគឺ -6 (ដែលលំអៀងទៅរកការបង្ហាប់ខ្ពស់ក្នុងល្បឿនចំណាយ) ។
ការប្រើប្រាស់កម្រិតខ្ពស់
ឯកសារដែលបានបង្ហាប់ច្រើនអាចត្រូវបានដាក់បន្តគ្នា។ នៅក្នុងករណីនេះ, gunzip នឹងស្រង់ចេញសមាជិកទាំងអស់ក្នុងពេលតែមួយ។ ឧទាហរណ៍:
gzip -c file1> foo.gz
gzip -c file2 >> foo.gz
បន្ទាប់មក
gunzip -c foo
គឺស្មើនឹង
ឆ្មាឯកសារ 1 ឯកសារ 2
ក្នុងករណីដែលខូចខាតដល់សមាជិកមួយនៃឯកសារ .gz សមាជិកផ្សេងទៀតនៅតែអាចរកឃើញវិញ (ប្រសិនបើសមាជិកដែលខូចត្រូវបានដកចេញ) ។ ទោះជាយ៉ាងណាអ្នកអាចទទួលបានការបង្ហាប់កាន់តែប្រសើរដោយការបង្ហាប់សមាជិកទាំងអស់ក្នុងពេលតែមួយ:
ឆ្មាឯកសារ 1 ឯកសារ 2 | gzip> foo.gz
បង្ហាប់ល្អជាង
gzip -c file1 file2> foo.gz
ប្រសិនបើអ្នកចង់បង្ហាប់ឯកសារដែលបូកសរុបឡើងវិញដើម្បីទទួលបានការបង្ហាប់ល្អជាងសូមធ្វើ:
gzip-cd old.gz | gzip> new.gz
ប្រសិនបើ ឯកសារដែលបានបង្ហាប់ មានសមាជិកច្រើនទំហំដែលមិនបានបង្ហាប់និងកាកបាទក្រហមកម្ពុជាដែលបានរាយការណ៍ដោយជម្រើស --list អនុវត្តទៅសមាជិកចុងក្រោយប៉ុណ្ណោះ។ ប្រសិនបើអ្នកត្រូវការទំហំដែលមិនបានបង្ហាប់សម្រាប់សមាជិកទាំងអស់អ្នកអាចប្រើ:
gzip-cd file.gz | wc-c
ប្រសិនបើអ្នកចង់បង្កើតឯកសារបណ្ណសារតែមួយជាមួយសមាជិកច្រើនដូច្នេះសមាជិកអាចទាញយកដោយឯករាជ្យប្រើបណ្ណាសារដូចជា tar ឬ zip ។ GNU tar គាំទ្រជម្រើស -z ដើម្បីហៅ gzip ឱ្យមានតម្លាភាព។ gzip ត្រូវបានរចនាឡើងជាការបំពេញបន្ថែមទៅនឹង tar មិនមែនជាការជំនួស។
សូមមើលផងដែរ
បង្ហាប់ (1)
ទ្រង់ទ្រាយឯកសារ gzip ត្រូវបានបញ្ជាក់ជា P. Deutsch, ការបញ្ជាក់បញ្ជាក់ទ្រង់ទ្រាយឯកសារ GZIP 4.3,
សំខាន់: ប្រើពាក្យបញ្ជា man ( % man ) ដើម្បីមើលពីរបៀបប្រើពាក្យបញ្ជាលើកុំព្យូទ័រជាក់លាក់របស់អ្នក។