Zcat - ពាក្យបញ្ជាលីនុច - ពាក្យបញ្ជាយូនីក

ឈ្មោះ

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 -dgunzipzcat ។ ប្រសិនបើឈ្មោះដើមដែលបានរក្សាទុកក្នុងឯកសារដែលបានបង្ហាប់គឺមិនសមស្របសម្រាប់ប្រព័ន្ធឯកសារទេនោះឈ្មោះថ្មីត្រូវបានបង្កើតឡើងពីឯកសារដើមដើម្បីឱ្យវាស្របច្បាប់។

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, , អ៊ិនធឺណិ RFC 1952 (ឧសភា 1996) ។ ទ្រង់ទ្រាយ deflip zip ត្រូវបានបញ្ជាក់នៅក្នុង P. Deutsch, DEFLATE ទ្រង់ទ្រាយទិន្នន័យដែលបានបង្ហាប់បញ្ជាក់កំណែ 1.3, ftp://ftp.isi.edu/in-notes/rfc1951.txt> , អ៊ិនធឺណិ RFC 1951 (ឧសភា 1996) ។

សំខាន់: ប្រើពាក្យបញ្ជា man ( % man ) ដើម្បីមើលពីរបៀបប្រើពាក្យបញ្ជាលើកុំព្យូទ័រជាក់លាក់របស់អ្នក។