Tento článek vysvětluje, jak vytvářet a extrahovat archivy souborů v systému Linux® pomocí různých metod.
V tomto digitálním věku běžně odesíláme data přes internet, zejména za účelem jejich distribuce. Když potřebujeme odeslat velké množství dat, často je potřebujeme poslat všechna najednou.
Potřebujeme tedy způsob, jak odeslat více souborů, dokumentů nebo obrázků v rámci jednoho souboru. Nejen to, ale potřebujeme způsob, jak doručit data efektivně a bez zablokování šířky pásma v procesu. Proto vznikly metody komprese dat před jejich odesláním. Protože jsou komprimované soubory menší, tyto metody nám umožňují odesílat soubory rychleji. Menší velikost také šetří místo na pevných discích.
Komprese dat a Linux rozhodně nejsou cizí. Pokud jste si někdy všimli .xyz na konci balíčku, který jste nainstalovali z linuxového úložiště, jste viděli příklad linuxové komprese dat.
I když je k dispozici několik metod komprese dat, nejběžnější v Linuxu jsou:
- soubory .zip
- soubory .tar
- soubory .tar.gz
- soubory .tar.bz2
zip
Tato konkrétní metoda je pravděpodobně nejznámější a nejběžněji používaná, pokud jde o archivaci nebo kompresi souborů dnes. Skutečnost, že je přístupná napříč platformami, dává této metodě výhodu oproti ostatním. K souboru zip můžete přistupovat a otevřít jej bez ohledu na operační systém, protože všechny systémy Linux, Windows® a MacOS® ve výchozím nastavení podporují soubory zip.
Následující příklad ukazuje základní syntaxi pro kompresi souboru pomocí zip:
$ zip -r <name of the zip file>.zip <directory or file(s) you want to compress>
Můžete také komprimovat adresáře. Následující příklady ukazují, jak vytvořit archiv zip se souborem example.txt a další archiv zip s adresářem Obrázky :
$ zip examples.zip example.txt
$ zip -r pictures.zip /home/user/Pictures/
Oba příkazy vytvoří komprimovaný soubor .zip soubor. -r
umožňuje rekurzivně zahrnout všechny soubory a podadresáře v Obrázcích adresář v komprimovaném souboru. I když nepotřebujete kurzivní přepínač pro jednotlivé soubory, potřebujete jej pro adresář. -r
zajistí, že do výsledného souboru .zip bude zahrnuto vše, co se nachází v tomto adresáři soubor.
Některé soubory v adresáři, který plánujete archivovat, můžete vyloučit. Předpokládejme, že chcete komprimovat Obrázky adresář, ale chcete zahrnout pouze soubory .jpg.
Po změně adresáře na Obrázky , zadejte následující příkaz:
$ zip -r pictures.zip ‘*.jpg’
Tento příkaz prohledává Obrázky , vyloučí všechny soubory bez formátu jpg a zazipuje pouze soubor .jpg soubory do pictures.zip .Tento koncept funguje s jakýmkoli formátem souboru (.txt, .doc atd.).
Pokud obdržíte zazipovaný soubor (.zip ), použijte k rozbalení tohoto souboru v Linuxu následující příkaz:
$ unzip pictures.zip
Co když chcete rozbalit soubor do adresáře Obrázky a momentálně se nacházíte v jiném adresáři? Použijte následující příkaz:
$ unzip pictures.zip -d /home/user/Pictures
Všechny soubory obsažené v souboru zip se extrahují do vámi zvoleného adresáře, když přidáte parametr -doption. V opačném případě unzip
ve výchozím nastavení extrahuje soubory do vašeho aktuálního adresáře.
tar
Poznámka: Na rozdíl od ostatních možností archivace, tar
příkaz nekomprimuje .tar soubory. tar
pouze sbalí soubory do jednoho archivovaného souboru. Pokud tedy někdy uvidíte soubor končící pouze na „.tar“, již víte, že proces archivace nepoužil na soubory obsažené v tomto archivu žádnou kompresi.
tar
příkaz má několik více možností než příkaz zip. Mezi nejčastěji používané možnosti příkazu tar patří následující:
-c
:vytvoří nový .tar archivní soubor-v
:podrobně zobrazuje proces dehtu, takže můžete vidět všechny kroky v procesu-f
:určuje typ názvu souboru archivního souboru-x
:extrahuje soubory z existujícího souboru .tar soubor
Následující příklad ukazuje základní syntaxi tar
příkaz k vytvoření archivu:
$ tar -cvf <name of archive file>.tar <directory to archive or files to archive>
Pomocí následujícího příkazu archivujte Obrázky adresář:
$ tar -cvf pictures.tar /home/user/Pictures
Chcete-li rozbalit již existující soubor archivu .tar, nahraďte -c
s -x
, jak ukazuje následující příklad:
$ tar -xvf <name of archive file>.tar
Stejně jako v případě unzip
příkaz tar
extrahuje soubor .tar obsah do vaší aktuální polohy, ve výchozím nastavení. Chcete-li extrahovat .tar obsah souboru někde jinde, použijte následující příkaz:
$ tar -xvf (name of archive file).tar -C /path/to/desired/directory/location/
tar.gz
Tar.gz soubory přidávají kompresi do archivační funkce příkazu tar pomocí gzip
funkce.
Musíte přidat pouze -z
možnost k základnímu tar
příkaz pro přidání komprese, jak ukazuje následující příklad:
$ tar -zcvf <archive name>.tar.gz /directory/you/want/to/compress
OR
$ tar -zcvf <archive name>.tar.gz ‘*.jpg’
Stejně jako u tar
, použijte „-c“ k vytvoření archivu a „-x“ k jeho rozbalení, jak ukazuje následující příklad:
$ tar -zxvf <archive name>.tar.gz
OR
$ tar -zxvf <archive name>.tar.gz -C /path/to/desired/directory/
tar.bz2
Řekněme, že máte extra velký adresář, který chcete co nejvíce zkomprimovat. Pokud tar.gz vede k příliš velkému souboru, zkuste místo něj použít tar.bz2. Upozorňujeme, že tato možnost trvá o něco déle.
Tato metoda archivace přidává pouze jednu novou volbu:-j
, jak ukazuje následující příklad:
$ tar -jcvf <archive name>.tar.bz2 /directory/to/compress
OR
$ tar -jcvf <archive name>.tar.bz2 ‘*.jpg’
Opět pro extrakci .tar.bz2 soubor, přepněte -c
pro -x
, jak je znázorněno na následujících příkladech:
$ tar -jxvf <archive name>.tar.bz2
OR
$ tar -jxvf <archive name>.tar.bz2 -C /directory/to/extract/to/
Závěr
Nyní víte, jak používat nejběžnější dostupné nástroje pro kompresi dat. Každá možnost má své místo.
- Potřebujete odeslat komprimovaný soubor někomu, kdo používá jiný operační systém než vy? Zkuste zip.
- Chtěli byste archivovat některé soubory, ale nepotřebujete je komprimovat? Použijte dehet.
- Možná budete muset soubory nakonec zkomprimovat. Použijte tar.gz.
- Nakonec, pokud chcete, aby byl tento adresář zmáčknut co nejvíce, máte k dispozici .tar.bz2.
Díky zkušenostem se naučíte, který nástroj bude v kteroukoli chvíli nejlépe vyhovovat vašim potřebám.