GNU/Linux >> Znalost Linux >  >> Linux

Linuxová komprese souborů:Vše, co potřebujete vědět

Komprese je důležitá počítačová technika, kterou používají programy, služby a uživatelé k úspoře místa a zlepšení kvality služeb. Pokud si například stáhnete hru přes herní platformu, stáhne si obvykle komprimovanou verzi, aby ušetřil čas a prostor. K dekompresi dojde po stažení souboru nebo během procesu instalace.

Ale proč vám to všechno říkám? No, dnes projdu Linux File Compression a ukážu vám vše, co potřebujete vědět.

Porozumění kompresi

Než přejdeme vpřed a naučíme se o kompresi Linuxu, pojďme si nejprve porozumět více věcem o kompresi.

Komprese je technika zmenšení velikosti souboru na daném disku pomocí různých matematických výpočtů a algoritmů. Primárním účelem komprese je úspora místa. To je možné tím, jak jsou soubory ukládány na pevné disky. Algoritmy nebo matematické výpočty najdou vzor a komprimují jeho část tak, aby jej bylo možné vygenerovat zpět s malou nebo žádnou ztrátou detailů. Stručně řečeno, opakovaný obsah dláždí cestu k fungování komprese.

Existují dva typy komprese, o kterých byste měli vědět. Jsou to ztrátová a bezeztrátová komprese.

Bezeztrátová komprese

Je to kompresní technika, která neztrácí informace a skutečná data lze získat z komprimovaného souboru. Ztrátová komprese je užitečná pro zmenšení velikosti souboru bez ztráty kvality původního souboru.

Ztrátová komprese

Na druhé straně je to technika ztrátové komprese, která komprimuje soubor, aby se ušetřilo místo, ale komprimovaný soubor nelze použít k načtení původního obsahu souboru. V tomto případě dojde ke ztrátě informací.

Abychom to pochopili, projdeme si příklad. Můžete pořídit nezpracovaný snímek a poté jej komprimovat pomocí ztrátového a bezztrátového režimu. Při bezztrátové kompresi se velikost obrázku mírně zmenší a pokud obrázek dekomprimujete, budete si moci zachovat původní obrázek. Ve většině případů se pro bezeztrátovou kompresi používá formát PNG. Pokud však použijete ztrátovou kompresi, pak získáte obrazový výstup, který nelze vrátit k původnímu. V tomto případě je výsledný obrázek ve formátu JPEG/JPG.

Kompresní algoritmy jsou svým způsobem vynikající a poskytují uživateli hodnotu. Novější algoritmy používají adaptivní metodu, kde jsou rychlé a přesnější ve své kompresní technice.

Různé způsoby komprimace souborů v systému Linux

Abychom porozuměli kompresi v Linuxu, musíme nejprve vytvořit soubor pro testování kompresních metod. K tomu můžeme náhodně vygenerovat soubor pomocí následujícího postupu.

base64 /dev/urandom | head -c 3000000 > mynewfile.txt

Chcete-li zjistit velikost nově vytvořeného souboru, můžete spustit následující příkaz.

ls -l --block-size=MB

Velikost souboru můžete také zkontrolovat pomocí průzkumníku souborů a zkontrolovat velikost souboru v jeho vlastnostech.

Vytvořme více kopií souboru, abychom jej mohli použít k testování kompresních technik.

Celková velikost složky, ve které jsou soubory uloženy, je 150 MB.

Komprese zip

Jednou ze standardních kompresních technik, které najdete v Linuxu, je kompresní technika zip. Chcete-li spustit příkaz zip na souborech, které máme, musíte spustit následující příkaz.

zip <output>.zip <input>

Abychom zkomprimovali pět souborů, které máme ve složce, musíme spustit následující příkaz.

zip testing1.zip *

Spuštění příkazu bude nějakou dobu trvat a uvidíte, jak se to stane před vašima očima.

Jak můžete vidět, každý ze souborů se snížil o 24 %. S 24% úsporou je konečná velikost 114 MB. To je docela dobré. Výsledek by byl jiný, kdybychom použili další zdrojové soubory. Ještě jedna věc, které byste si všimli, je, že používá techniku ​​komprese deflate.

Chcete-li soubor dekomprimovat, musíte použít následující příkaz.

rozbalte .zip -d

Jak vidíte, můžete nastavit cíl. Můžete také rozbalit ve stejné složce jednoduše pomocí příkazu bez parametru destination.

Komprese Gzip

Nyní, když jsme prošli komprimací zipu, je nyní čas na kompresi GNU Zip nebo gzip. Je to také populární metoda komprimace souborů na Linuxu. Jean-Loup Gailly a Mark Adler jej vytvořili.

Je také lepší než metoda komprese zipu, protože nabízí lepší kompresi. Syntaxe pro použití komprese Gzip je uvedena níže.

gzip <option> <input>

Ke kompresi souborů, které máme, musíme použít následující příkaz.

gzip -v mynewfile1.txt

Tím se soubor zkomprimuje „mynewfile1.txt“ a poté se pojmenuje „mynewfile1.txt.gz.“

Konečná velikost souboru je 22,8 MB, což je docela působivá komprese.

Celou složku můžete také komprimovat pomocí rekurzivního parametru -r. Jeho syntaxe je následující:

gzip -r <folder_path>

Můžete také přizpůsobit úroveň komprese pro Gzip. Hodnotu úrovně komprese lze nastavit od 1 do 9. 1 znamená nejrychlejší a nejnižší kompresi, zatímco devět znamená nejpomalejší, ale nejlepší kompresi.

gzip -v -9 mynewfile1.txt

Chcete-li dekomprimovat soubor gzip, musíte použít následující příkaz.

gzip -d <gzip_file>

Komprese Bzip2

Posledním typem komprese, o kterém budeme diskutovat, je Bzip2. Jedná se o open-source a bezplatný nástroj. Využívá Burrows-Wheelerův algoritmus.

Technika komprese je poměrně stará, protože byla poprvé představena v roce 1996. Bzip2 můžete používat ve své každodenní práci. Je rychlý a funguje podobně jako nástroj gzip. Syntaxe kompresní techniky Bzip2 je následující:

bzip2 <option> <input>

Zkusme soubor zkomprimovat pomocí bzip2.

Stejně jako gzip můžete také nastavit sílu komprese od 1 do 9.

Chcete-li soubor dekomprimovat, musíte použít následující příkaz.

bzip2 -d <filename>

Archivace

Je zde ještě jeden důležitý termín, který se zde musíme naučit.

Archivace je metoda zálohování dat na bezpečné místo pomocí komprimovaného formátu (obecně). Na serveru Linux byste našli příponu souboru tar, což znamená, že se jedná o archivovaný soubor. Formát tar je vynikající, pokud jde o manipulaci a adresování různých souborů. Dokáže zachovat nedotčená metadata a oprávnění, a proto se většinou používá pro archivační účely na systémech Linux.

Syntaxe příkazu tar je uvedena níže.

tar <option> <output_file> <input>

Chcete-li extrahovat, musíte použít následující příkaz.

tar -xvf <archieved-file-name>

Závěr

Tím se dostáváme na konec našeho průvodce kompresí Linuxu. Jak vidíte, existuje mnoho způsobů, jak provést kompresi souborů. Také archivační proces má své jedinečné využití. Takže, co si myslíte o kompresi souborů Linuxu? Používáte ho hodně? Dejte nám vědět v komentářích níže.


Linux
  1. Linux tmp Directory:Vše, co potřebujete vědět

  2. Oprávnění souborů Linux:Vše, co potřebujete vědět

  3. Linux – všechno je soubor?

  1. Swappiness v Linuxu:Vše, co potřebujete vědět

  2. Vše, co potřebujete vědět o systému souborů Linux

  3. Vše, co potřebujete vědět o Linux Chmod Command

  1. Vše, co potřebujete vědět o Linuxových kontejnerech (LXC)

  2. Vše, co potřebujete vědět o serveru Linux Ubuntu

  3. Vše, co potřebujete vědět o Linux OpenSSH Server