GNU/Linux >> Znalost Linux >  >> Linux

Jak komprimovat a dekomprimovat soubory v Linuxu

Komprese je docela užitečná při zálohování důležitých souborů a také odesílání velkých souborů přes internet. V tomto tutoriálu probereme, jak komprimovat a dekomprimovat soubory v Linuxu pomocí dvou programů příkazového řádku, jmenovitě gzip a bzip2 .

Poznámka:

Komprese již komprimovaného souboru zvyšuje režii navíc, takže získáte o něco větší soubor. Přestaňte tedy komprimovat komprimovaný soubor.

Komprimujte a dekomprimujte soubory v Linuxu

Jak již bylo řečeno, nejběžněji používané programy pro kompresi souborů v systémech Linux a Unix jsou:

  1. gzip
  2. bzip2

Nejprve uvidíme použití Gzip.

1. Komprimujte a dekomprimujte soubory pomocí programu Gzip

gzip je nástroj pro kompresi a dekomprimaci souborů pomocí kódovacího algoritmu Lempel-Ziv (LZ77).

1.1 Komprimovat soubory

Chcete-li komprimovat soubor s názvem ostechnix.txt , nahraďte jej komprimovanou verzí gzip, spusťte:

$ gzip ostechnix.txt

Gzip nahradí původní soubor ostechnix.txt s komprimovanou verzí gzip s názvem ostechnix.txt.gz .

Příkaz gzip lze použít i jinak. Jedním z dobrých příkladů je, že můžeme vytvořit komprimovanou verzi výstupu konkrétního příkazu. Podívejte se na následující příkaz.

$ ls -l Downloads/ | gzip > ostechnix.txt.gz

Výše uvedený příkaz vytvoří komprimovanou verzi seznamu adresářů složky Stažené soubory.

1.2 Komprimujte soubory a zapisujte výstup do různých souborů (nenahrazujte původní soubor)

Ve výchozím nastavení program gzip zkomprimuje daný soubor a nahradí jej komprimovanou verzí gzip. Můžete si však ponechat původní soubor a zapsat výstup na standardní výstup. Například následující příkaz komprimuje ostechnix.txt a zapíše výstup do output.txt.gz .

$ gzip -c ostechnix.txt > output.txt.gz

Podobně pro dekomprimaci souboru gzip s uvedením výstupního souboru:

$ gzip -c -d output.txt.gz > ostechnix1.txt

Výše uvedený příkaz dekomprimuje output.txt.gz a zapíše výstup do ostechnix1.txt soubor. V obou případech nedojde k odstranění původního souboru.

1.3 Dekomprimovat soubory

Chcete-li dekomprimovat soubor ostechnix.txt.gz , nahradíme ji původní nekomprimovanou verzí, uděláme:

$ gzip -d ostechnix.txt.gz

K dekomprimaci souborů můžeme také použít gunzip.

$ gunzip ostechnix.txt.gz

1.4 Zobrazení obsahu komprimovaných souborů bez jejich dekomprimace

Chcete-li zobrazit obsah komprimovaného souboru pomocí gzip bez jeho dekomprimace, použijte -c příznak, jak je znázorněno níže:

$ gunzip -c ostechnix1.txt.gz

Případně použijte zcat nástroj jako níže.

$ zcat ostechnix.txt.gz

Můžete také použít výstup příkazu "méně" a zobrazit tak výstupní stránku po stránce, jak je uvedeno níže.

$ gunzip -c ostechnix1.txt.gz | less
$ zcat ostechnix.txt.gz | less

Případně existuje zless program, který vykonává stejnou funkci jako výše uvedený kanál.

$ zless ostechnix1.txt.gz

1.5 Komprimujte soubor pomocí gzip zadáním úrovně komprese

Další významnou výhodou gzip je podpora úrovně komprese. Podporuje 3 úrovně komprese, jak je uvedeno níže.

  • 1 - Nejrychlejší (nejhorší)
  • 9 - Nejpomalejší (nejlepší)
  • 6 - Výchozí úroveň

Chcete-li komprimovat soubor s názvem ostechnix.txt , nahraďte ji komprimovanou verzí gzip s názvem nejlepší úroveň komprese, používáme:

$ gzip -9 ostechnix.txt

1.6 Zřetězení více komprimovaných souborů

Je také možné zřetězit více komprimovaných souborů do jednoho. Jak? Podívejte se na následující příklad.

$ gzip -c ostechnix1.txt > output.txt.gz
$ gzip -c ostechnix2.txt >> output.txt.gz

Výše uvedené dva příkazy zkomprimují ostechnix1.txt a ostechnix2.txt a uloží je do jednoho souboru s názvem output.txt.gz .

Obsah obou souborů (ostechnix1.txt a ostechnix2.txt) můžete zobrazit bez jejich extrahování pomocí některého z následujících příkazů:

$ gunzip -c output.txt.gz
$ gunzip -c output.txt
$ zcat output.txt.gz
$ zcat output.txt

Další podrobnosti naleznete na manuálových stránkách.

$ man gzip

2. Komprimujte a dekomprimujte soubory pomocí programu bzip2

Soubor bzip2 je velmi podobný programu gzip, ale používá jiný kompresní algoritmus nazvaný Burrows-Wheeler blokový třídicí algoritmus komprese textu a Huffmanovo kódování. Soubory komprimované pomocí bzip2 budou končit .bz2 rozšíření.

Jak jsem řekl, použití bzip2 je téměř stejné jako gzip. Stačí nahradit gzip ve výše uvedených příkladech pomocí bzip2 , gunzip pomocí bunzip2 , zcat s bzcat a tak dále.

Chcete-li komprimovat soubor pomocí bzip2 a nahradit jej komprimovanou verzí, spusťte:

$ bzip2 ostechnix.txt

Pokud nechcete původní soubor nahradit, použijte -c flag a zapište výstup do nového souboru.

$ bzip2 -c ostechnix.txt > output.txt.bz2

Chcete-li dekomprimovat komprimovaný soubor:

$ bzip2 -d ostechnix.txt.bz2

Nebo,

$ bunzip2 ostechnix.txt.bz2

Zobrazení obsahu komprimovaného souboru bez jeho dekomprimace:

$ bunzip2 -c ostechnix.txt.bz2

Nebo,

$ bzcat ostechnix.txt.bz2

Další podrobnosti naleznete na manuálových stránkách.

$ man bzip2

Doporučené čtení:

  • Pigz – komprimovat a dekomprimovat soubory paralelně v systému Linux

Shrnutí

V tomto tutoriálu jsme se naučili, co jsou programy gzip a bzip2 a jak je používat ke kompresi a dekomprimaci souborů s několika příklady v GNU/Linuxu. V dalším průvodci se naučíme, jak archivovat soubory a adresáře v Linuxu .


Linux
  1. Jak komprimovat a dekomprimovat soubory v Linuxu

  2. Tar Command v Linuxu (komprimovat a dekomprimovat soubory)

  3. Jak komprimovat/dekomprimovat v Linuxu

  1. Jak komprimovat a extrahovat soubory pomocí příkazu tar v systému Linux?

  2. Jak kopírovat soubory v Linuxu a Unixu? 10 cp Příklady příkazů

  3. Jak komprimovat a dekomprimovat soubory .bz2 v Linuxu pomocí příkazu bzip2

  1. Jak komprimovat soubory a adresáře v systému Linux (s příklady)

  2. Jak spojit dva textové soubory v Linuxu

  3. Jak archivovat a komprimovat soubory na Linuxu