Všechna tajemství komprese v GNU / Linux

Kompresní potrubí

Vracíme se k obvyklému problému, který se pro mnohé stává výhodou pokročilí uživatelé GNU / Linux a je to velké množství alternativ nebo možností, které jsou k dispozici. To pro ty nejzkušenější může být problém, když nevíte, který z nich si vybrat, ale jak říkám, mít více možností nebo flexibility není nikdy špatná věc, právě naopak. V tomto případě budeme hovořit o kompresní a dekompresní algoritmy a postupy které existují na naší oblíbené platformě, takže je můžete vidět jiným způsobem a ne jako velký nepořádek tím, že nevíte, která je ve vašem případě nejlepší volba ...

Pravdou je, že neexistují pouze nástroje používané jako tar, pomocí kterých můžeme vytvářet balíčky, do kterých lze také přidat nějaký typ komprese, jak jsme zvyklí vidět v slavné tarballs o kterých jsme již mluvili LxA při mnoha příležitostech. Najdeme také varianty takových triviálních a častých nástrojů, jako je grep pro vyhledávání uvnitř komprimovaných souborů, jako je bzfgrep, nebo dokonce i jiné, jako je méně a více, které mají také své varianty pro komprimované soubory, jako jsou bzless a bzmore. Abychom je mohli vidět všechny, musíme se podívat na výstup následujícího příkazu:

apropos compress

Algoritmy a testy:

Mezi všemi algoritmy bezztrátová komprese dostupná v Linuxu pro kompresi a dekompresi dat, máme spoustu možností. Chcete-li získat důkaz o tom, jak dlouho trvá komprese pomocí jednoho nebo jiného kompresního algoritmu, nebo jak dlouho trvá dekomprimace, navrhuji, abyste si sami provedli nějaké testy. K tomu můžete použít příkaz time, který vám poskytne čas potřebný pro proces komprese a dekomprese. Například pokud budete používat nástroj zip ke kompresi souboru s názvem test:

time zip prueba.zip prueba

To by zahodilo použitý čas, ale pokud chcete vidět velikost generovaného souboru, můžete zkusit komprimovat stejný soubor pomocí různých algoritmů a kompresních nástrojů a jakmile budete mít všechny komprimované soubory v adresáři pomocí jednoduchého seznamu, zkontrolujte velikost každého z nich:

ls -l

Pokud chcete, můžete použít i jiné nástroje k porovnání komprimovaných souborů, například s některými variantami nástroje diff:

xzdiff [opciones] fichero1 fichero2

lzdiff [opciones] fichero 1 fichero2

Pokud chcete vidět grafy o velikosti a rychlosti algoritmů, můžete navštívit tento další odkaz.

Kompresní nástroje:

Týkající se dostupné nástroje máme mnoho z nich, některé s grafickým rozhraním pro nováčky a že se budeme muset jednoduše vypořádat s jednoduchým a intuitivním grafickým uživatelským rozhraním, abychom mohli provádět komprese a dekomprese, jako je PeaZip nebo 7zip atd. Konkrétně je první schopen pracovat s různými formáty, konkrétně s více než 180 z nich. Ale pokud jste jedním z těch, kteří stále rádi pracují s terminálem, budete mít velké množství nástrojů, které určitě znáte:

  • zip a rozbalit: je to dobrá volba, pokud chcete soubory, které jsou přenosné do jiných operačních systémů, protože nástroje pro práci s těmito soubory najdete v systémech Microsoft Windows a také v macOS a dalších. Chcete-li například komprimovat soubor nebo adresář s názvem test a poté jej dekomprimovat:
zip prueba.zip prueba

unzip prueba.zip

  • gzip: Je to nejlepší, pokud chcete pouze přenositelnost mezi operačními systémy Unix / Linux. Možná je rychlost komprese téměř identická se zipem, možná o něco lepší, ale pod zipem nebo gzipem nenajdete velký rozdíl ve velikosti souboru. Ke komprimaci a dekompresi pomocí tohoto nástroje můžeme použít dvě možnosti v případě dekomprese a jsou to volba -do, přímo pomocí alias gunzip:
gzip prueba

gzip -d prueba.gz

gunzip prueba.gz

  • bzip2: Stejně jako předchozí, je tento algoritmus velmi přítomen v operačních systémech Unix / Linux, i když v kompresních a dekompresních procesech bude trvat o něco déle než v případě gzip. V tomto případě se zpoždění nepřenese do vyšší rychlosti komprese jako v případě xz, protože soubory komprimované pod bzip2 zaberou o něco více než soubory gzip. Proto se doporučuje vyhnout se bzip2 a místo toho zvolit xz nebo gzip. Ačkoli vše bude trochu záviset na typu souboru, který se pokoušíte komprimovat ... Například:
bzip2 prueba

bzip2 -d prueba.bz2

  • xz: Je to upřednostňovaný formát pro velké velikosti souborů, protože nabízí nejlepší kompresní poměr, ale je také pravda, že dokončení komprese nebo dekomprese bude trvat déle. Je to docela novější než ty předchozí, takže se můžete setkat s primitivnějšími distribucemi nebo starými unixovými systémy, které pro tento nástroj nemají. Příklady:
xz prueba

xz -d prueba.xz

  • unrar and rar: Díky těmto nástrojům můžeme také pracovat s formáty RAR v Linuxu, i když u systémů * nix to není tak populární jako u předchozích ... V tomto případě si můžeme vybrat:
rar a prueba.rar prueba

unrar e prueba.rar

  • komprimovat a dekomprimovat: a přestože se použití komprese ztrácí a není tak populární jako předchozí, nerad bych ani tento nástroj přehlédl. Používá se ke kompresi souborů s příponou .Z, a to díky upravenému algoritmu Lempel-Ziv. Například:
compress -v prueba

uncompress prueba.Z

Pokud chcete pracovat přímo s dehtový nástrojSoubory můžete také zabalit a komprimovat současně a také je rozbalit a dekomprimovat. V tomto případě můžeme předat možnosti typu algoritmu, který se použije přímo k tar. Nejprve byste ale měli vědět, že s možností c vytvoříme balíček a s možností x ho extrahujeme. Například:

tar czvf prueba.tar.gz prueba

tar xzvf prueba.tar.gz

Jak vidíte, použili jsme možnosti zvf, které označují typ kompresního algoritmu z (v tomto případě gzip), v pro podrobný režim, který poskytuje informace o tom, co dělá, af pro označení souboru, se kterým bude pracovat ... No, pokud to změníme z dalším písmenem odpovídajícím jinému typu algoritmu můžeme změnit typ komprese aplikované na tarball:

Volba algoritmus Rozšíření
z gzip .tar.gz
j bzip2 .tar.bz2
J xz .tar.xz
lzip zip .tar.lz
Lzma Lzma .tar.lzma

* Samozřejmě všechny předchozí příkazy mají zajímavé možnosti, které vás vyzývám k objevování pomocí člověka, některé velmi nutné, jako je rekurze atd.

Nezapomeňte zanechat své komentáře...


Zanechte svůj komentář

Vaše e-mailová adresa nebude zveřejněna. Povinné položky jsou označeny *

*

*

  1. Za data odpovídá: AB Internet Networks 2008 SL
  2. Účel údajů: Ovládací SPAM, správa komentářů.
  3. Legitimace: Váš souhlas
  4. Sdělování údajů: Údaje nebudou sděleny třetím osobám, s výjimkou zákonných povinností.
  5. Úložiště dat: Databáze hostovaná společností Occentus Networks (EU)
  6. Práva: Vaše údaje můžete kdykoli omezit, obnovit a odstranit.

      Javier Martinez Echenique řekl

    Používám zejména 7zip

      Marcelo řekl

    Zmeškali jste 7zip. Velmi dobrá volba a SOFTWARE ZDARMA.

      Umberto řekl

    Skvělá informace, i když bych začal tím, že lze také bez problémů graficky komprimovat a dekomprimovat, takže nevidíte službu „sršeň“, která říká, že GNU / Linux je velmi obtížný a vše je třeba dělat na konzole. NE, JE TO DALŠÍ MOŽNOST.