Jak komprimovat a rozbalovat soubory v Ubuntu (zip, tar.gz, tar.xz) — příkazy, grafické rozhraní a řešení problémů

目次

1. Základní znalosti komprese a rozbalování v Ubuntu

Hlavní účely provádění „komprese“ v Ubuntu jsou následující tři:

  • Snížit velikost souboru a ušetřit úložný prostor
  • Spojit více souborů do jednoho pro odesílání a sdílení
  • Vytvořit zálohy a archivy (balíček pro uložení)

V Ubuntu je standardní operace v příkazovém řádku (terminálu). Můžete to také provést přes GUI (správce souborů), ale ve skutečné práci a serverových prostředích je používání příkazové řádky normou.

Prvním klíčovým bodem, který byste měli pochopit, je to, že „komprese“ a „archivace“ jsou odlišné pojmy.

1.1 Rozdíl mezi kompresí a archivací

Toto je bod, který většina začátečníků považuje za matoucí.

  • Komprese → Zpracování, které snižuje velikost dat. Příklady: gzip, bzip2, xz
  • Archiv → Zpracování, které spojuje více souborů a složek do jednoho souboru. Příklad: tar

Důležitý fakt

tar příkaz není „komprese“.
Přesně řečeno, je to příkaz, který „pouze spojuje“.

Pokud chcete komprimovat zároveň, kombinujete jej s gzip nebo xz.

Příklad:

tar -czvf archive.tar.gz folder/

Význam:

  • c = vytvořit
  • z = gzip komprese
  • v = podrobný výstup (zobrazit zpracované položky)
  • f = specifikovat název výstupního souboru

1.2 Běžné formáty komprese v Ubuntu

Následující formáty jsou v Ubuntu běžně používány.

FormatFeaturesMain use
zipHigh Windows compatibilitySharing with other OSes
tar.gzLinux standard formatGeneral-purpose compression
tar.bz2Higher compression than gzipPrioritize smaller size
tar.xzVery high compressionLarge datasets

Jak vybrat

  • Sdílet s Windows → zip
  • Zůstat v Linuxu → tar.gz
  • Velikost je nejvyšší priorita → tar.xz

1.3 Základní příkazy pro kontrolu před kompresí

Zkontrolujte aktuální adresář:

pwd

Vypsat soubory:

ls -l

Zkontrolovat velikost:

du -sh folder/

Časté úskalí

  • Spouštění příkazů bez kontroly aktuálního adresáře a vytváření souborů na neočekávaném místě
  • Špatně napsaná relativní cesta (např. ../folder )
  • Přeskočení kontroly velikosti před kompresí a nedostatek místa na disku

1.4 Běžná nedorozumění a upozornění

1. Obrázky a videa se příliš nekonprimují

Protože JPEG a MP4 jsou již komprimované formáty, jejich velikost se obvykle příliš nezmenší.

2. samotný tar nesnižuje velikost

Následující „pouze spojuje“.

tar -cvf archive.tar folder/

Velikost bude téměř stejná.

3. Velké soubory zvyšují zatížení CPU

Využití CPU může být vysoké, zejména při použití xz.

4. Dávejte pozor na chyby oprávnění

Pokud pracujete se systémovými adresáři, budete potřebovat sudo.

2. Jak komprimovat a rozbalovat ve formátu zip v Ubuntu

Formát zip nabízí nejlepší kompatibilitu při výměně souborů mezi Ubuntu a Windows.
Mnoho uživatelů, kteří hledají „ubuntu compression“, hledá nejprve zip.

V Ubuntu používáte příkazy zip a unzip.
Nejprve zkontrolujte, zda jsou nainstalovány.

2.1 Zkontrolujte, zda je zip nainstalován

Můžete zkontrolovat následujícím příkazem:

zip -v

Pokud dostanete chybu, nainstalujte jej:

sudo apt update
sudo apt install zip unzip

Časté chyby

  • Nelze rozbalit, protože unzip není nainstalován
  • Zapomenutí sudo a získání „Permission denied”

2.2 Jak komprimovat soubory pomocí zip

Komprimovat jeden soubor:

zip sample.zip file.txt

Výsledek:

  • sample.zip je vytvořen
  • Původní soubor není smazán

Komprimovat více souborů najednou

zip sample.zip file1.txt file2.txt

2.3 Jak komprimovat složku (důležité)

Při kompresi složky je vyžadována volba -r (rekurzivní).

zip -r sample.zip folder/

Pokud vynecháte -r, soubory uvnitř složky nebudou komprimovány.

Časté úskalí

  • Zapomenutí -r
  • Špatně napsaná relativní cesta
  • Špatné pořadí příkazu (název výstupního souboru musí být první)

Správné pořadí:

zip -r output.zip target_folder

2.4 Jak rozbalit zip soubor

Základní příkaz:

unzip sample.zip

Rozbalit do určené složky:

unzip sample.zip -d extracted_folder

Poznámky

  • Pokud cíl již existuje, budete vyzváni k potvrzení přepsání
  • Pokud existují soubory se stejným názvem, mohou být přepsány
  • Pokud cesta obsahuje mezery, uzavřete ji do uvozovek

Příklad:

unzip "sample file.zip"

2.5 Vytvoření zip souboru chráněného heslem

Můžete jej zašifrovat pro bezpečnostní účely.

zip -e secure.zip file.txt

Budete vyzváni k zadání hesla.

Poznámky

  • šifrování zip není příliš silné (nevhodné pro vysokou úroveň zabezpečení)
  • Ztráta hesla = obtížné obnovení

2.6 Zkontrolovat velikost a kompresní poměr

Zobrazit informace o zip souboru:

unzip -l sample.zip

Porovnat s původní velikostí:

ls -lh

Proč může být kompresní poměr nízký

  • Obrázky/videa jsou již komprimovány
  • Text a logy se obvykle dobře komprimují

3. Jak komprimovat pomocí tar.gz (tgz) (Linux Standard)

Nejčastěji používaný formát v Linuxových prostředích je tar.gz.
Je široce používán v Ubuntu pro distribuci zdrojového kódu a zálohy.

tar.gz je dvoustupňový proces:

  1. Sbalit soubory pomocí tar (archiv)
  2. Komprimovat pomocí gzip

Pochopení tohoto mechanismu usnadňuje pokročilé použití.

3.1 Základní příkaz pro vytvoření tar.gz archivu

Příklad: komprimovat složku

tar -czvf archive.tar.gz folder/

Význam jednotlivých voleb:

  • c = vytvořit
  • z = gzip komprese
  • v = podrobný výpis (zobrazit zpracované položky)
  • f = soubor (specifikovat výstupní název souboru)

Jeden soubor

tar -czvf archive.tar.gz file.txt

Více souborů

tar -czvf archive.tar.gz file1.txt file2.txt

3.2 Jak extrahovat tar.gz archiv

Základní příkaz:

tar -xzvf archive.tar.gz

Rozpis voleb:

  • x = extrahovat
  • z = gzip dekomprese
  • v = zobrazit extrahované položky
  • f = specifikovat soubor

Extrahovat do konkrétního adresáře

tar -xzvf archive.tar.gz -C target_folder/

-C určuje cílový adresář.

3.3 Důležité poznámky při používání tar

1. Sledujte strukturu extrahované cesty

Struktura adresářů při tvorbě je zachována během extrakce.

Příklad:

tar -czvf archive.tar.gz folder/

Po extrakci:

folder/
  └─ contents

Pokud chcete „extrahovat pouze obsah“, musíte při tvorbě archivu upravit cesty.

2. Pozor na neúmyslné přepsání

Pokud soubory již existují, mohou být přepsány.
Pro předběžnou kontrolu:

tar -tzvf archive.tar.gz

-t vypíše obsah archivu.

3. Nedostatek místa na disku

Komprese může dočasně využívat další místo.
Zkontrolujte předem:

df -h

3.4 Komprimovat pouze pomocí gzip

Komprimovat pouze jeden soubor:

gzip file.txt

Výsledek:

file.txt.gz

Dekompresovat:

gunzip file.txt.gz

Poznámka

  • gzip odstraní původní soubor (nahrazuje jej po kompresi)
  • Nevhodné pro balení více souborů

3.5 Časté chyby

  • Záměna pořadí voleb
  • Zapomenutí uvést název souboru po f
  • Umístění -C na špatné místo
  • Nesprávné pochopení, že tar sám o sobě snižuje velikost

4. Výběr formátů s vysokou kompresí (bz2 / xz)

Pokud chcete snížit velikost co nejvíce, použijte bzip2 (bz2) nebo xz, které typicky komprimují lépe než gzip.
Nicméně čím vyšší je kompresní poměr, tím vyšší je zátěž CPU a delší doba zpracování.

Základní doporučení je následující:

  • Priorita rychlosti → gzip
  • Priorita kompresního poměru → xz
  • Střední cesta → bzip2

4.1 Vytvoření a extrakce tar.bz2

Jak komprimovat

tar -cjvf archive.tar.bz2 folder/

Rozpis voleb:

  • c = vytvořit
  • j = bzip2 komprese
  • v = podrobný výpis
  • f = specifikovat výstup

Jak extrahovat

tar -xjvf archive.tar.bz2

4.2 Vytvoření a extrakce tar.xz

xz je v současnosti jedním z formátů s nejvyšší kompresí na Linuxu.

Jak komprimovat

tar -cJvf archive.tar.xz folder/

Poznámka: J musí být velké (důležité).

Jak rozbalit

tar -xJvf archive.tar.xz

4.3 Rozdíly v poměru komprese a čase zpracování

Obecné trendy (liší se podle prostředí):

  • gzip → rychlé, standardní poměr komprese
  • bzip2 → vyšší komprese než gzip, poněkud pomalejší
  • xz → velmi vysoká komprese, nejpomalejší

Zkontrolujte zatížení CPU

top

Je normální, že zatížení CPU stoupá při kompresi velkých souborů pomocí xz.

4.4 Jak vybrat v reálné práci

Pro zálohy

→ tar.xz (upřednostnit menší velikost)

Pro ukládání serverových logů

→ tar.gz (vyvážený)

Pro dočasné přenosy

→ tar.gz nebo zip

4.5 Běžné chyby a upozornění

  • Zadání J malým písmenem a získání chyby
  • xz není nainstalováno ve starších prostředích
  • Server se zpomalí kvůli zatížení CPU
  • Dojde k nedostatku místa během komprese

Pokud není xz nainstalováno:

sudo apt install xz-utils

5. Jak komprimovat pomocí GUI (správce souborů)

Pokud vám nevyhovují operace v příkazovém řádku, můžete komprimovat pomocí správce souborů Ubuntu (obvykle „Files“ = Nautilus).
V desktopových prostředích je to nejjednodušší metoda.

5.1 Kroky k kompresi pravým kliknutím

Kroky

  1. Vyberte soubor nebo složku, kterou chcete komprimovat
  2. Klikněte pravým tlačítkem
  3. Vyberte „Compress“
  4. Vyberte formát wp:list /wp:list

    • .zip
    • .tar.xz
    • .7z (může se objevit v závislosti na prostředí) 5. Klikněte na „Vytvořit“

Komprimovaný soubor je vytvořen ve stejném adresáři.

5.2 Jak rozbalit

Kroky

  1. Klikněte pravým tlačítkem na komprimovaný soubor
  2. Vyberte „Extract Here“ nebo „Extract To…“
  3. Rozbalení je dokončeno

5.3 Zkontrolujte, když nemůžete použít GUI

V minimálních instalacích nebo na Ubuntu Serveru není GUI k dispozici.
V takovém případě musíte použít operace v příkazovém řádku.

Zkontrolujte desktopové prostředí:

echo $XDG_CURRENT_DESKTOP

Pokud se nic nezobrazí, možná nemáte GUI prostředí.

5.4 Poznámky při používání GUI

1. Zpracování může být pomalé pro mnoho souborů

Ukazatel průběhu může být obtížně pochopitelný.

2. Nemůžete specifikovat podrobné úrovně komprese

V GUI nelze nastavit úrovně gzip.

3. Využití CPU je těžko viditelné

Pokud se PC během zpracování zpomalí, může být těžké pochopit proč.

4. Nevhodné pro serverové použití

Není k dispozici v prostředích založených na SSH.

5.5 Běžné chyby

  • Výběr formátu komprese bez pochopení rozdílů
  • Nezkontrolování cíle a následná „ztráta“ rozbalených souborů
  • Přepisování existujících souborů

6. Praktické techniky komprese pro reálnou práci

Zde vysvětlujeme techniky, které se často vyskytují v reálné práci a serverových operacích, nad rámec jednoduché komprese/rozbalení.
Patří sem vylučování logů, komprese pouze určitých přípon a zip chráněný heslem – vysoce praktické operace.

6.1 Komprimovat pouze konkrétní přípony souborů

Příklad: komprimovat pouze soubory logů

tar -czvf logs.tar.gz *.log

Poznámky

  • * (zástupný znak) je automaticky rozšířen shellem
  • Cílí pouze na soubory v aktuálním adresáři
  • Podsložky nejsou zahrnuty

Pro zahrnutí i podsložek:

find . -name "*.log" -print0 | tar --null -czvf logs.tar.gz --files-from=-

6.2 Vyloučit konkrétní soubory při kompresi

Příklad: vyloučit soubory .log

tar --exclude="*.log" -czvf archive.tar.gz folder/

Vyloučit více vzorů:

tar --exclude="*.log" --exclude="*.tmp" -czvf archive.tar.gz folder/

Běžné chyby

  • Vynechání uvozovek a způsobení rozšíření zástupného znaku
  • Špatně napsaná cesta pro vyloučení

6.3 Specifikovat úroveň komprese (gzip)

gzip umožňuje nastavit úroveň komprese (1–9).

gzip -9 file.txt
  • 1 = rychlé, nízká komprese
  • 9 = pomalé, vysoká komprese

Při specifikaci pomocí tar:

tar -czvf archive.tar.gz folder/ --gzip -9

Poznámka: syntaxe se může lišit v závislosti na prostředí.

6.4 Vytvoření zip souboru chráněného heslem

zip -e secure.zip file.txt

Pro vynucení šifrování:

zip -P password secure.zip file.txt

Poznámka

  • -P se nedoporučuje, protože zůstává v historii shellu
  • šifrování zip není příliš silné (nevhodné pro vysoce zabezpečené použití)

6.5 Rozdělení archivů (pro velké soubory)

Pro rozdělení velkého archivu:

zip -r -s 100m split.zip folder/

Bude rozdělen na části po 100 MB.

Poznámky

  • Všechny rozdělené části jsou potřebné pro rozbalení
  • Pokud chybí nebo je poškozena některá část, obnovení není možné

6.6 Porovnání velikostí před a po kompresi

Před kompresí:

du -sh folder/

Po kompresi:

ls -lh archive.tar.gz

Běžné důvody nízkého poměru komprese:

  • Již komprimovaná data, jako jsou obrázky/videa
  • Šifrovaná data se špatně komprimují

7. Běžné chyby při kompresi a jak je opravit

Při kompresi/rozbalování na Ubuntu se začátečníci často setkávají s běžnými chybami.
Zde jsou typické chyby a konkrétní řešení.

7.1 Chyba „command not found“

Příklad:

zip: command not found

Příčina

Příkaz není nainstalován.

Řešení

sudo apt update
sudo apt install zip unzip

Pro nástroje související s tar:

sudo apt install xz-utils

7.2 „Permission denied“

Příklad:

tar: folder/file.txt: Cannot open: Permission denied

Příčina

Nedostatečná oprávnění pro přístup k souboru nebo adresáři.

Řešení

Zkontrolujte vlastnictví:

ls -l

Použijte sudo:

sudo tar -czvf archive.tar.gz folder/

Poznámka

Nadměrné používání sudo zvyšuje bezpečnostní riziko.

7.3 „No space left on device“

Příklad:

No space left on device

Příčina

Nedostatek místa na disku.

Jak zkontrolovat

df -h

Odstraňte nepotřebné soubory:

sudo apt clean

Zkontrolujte využití disku:

du -sh *

7.4 Poškozené názvy souborů při rozbalování

K tomu může dojít, když obdržíte zip soubor vytvořený ve Windows.

Příčina

Rozdíly v kódování znaků (UTF-8 vs Shift-JIS atd.).

Příklad opravy

unzip -O cp932 sample.zip

Poznámka: liší se podle prostředí.

7.5 Náhodné přepsání

Existující soubory mohou být během rozbalování přepsány.

Zkontrolujte předem:

tar -tzvf archive.tar.gz

Pro zip:

unzip -l sample.zip

7.6 Vysoké zatížení CPU

Je normální, že během komprese xz se zvýší využití CPU.

Zkontrolujte:

top

V případě potřeby snižte úroveň komprese nebo přejděte na gzip.

8. Shrnutí: Který příkaz pro kompresi v Ubuntu použít (rychlý přehled)

Zde je praktické, na případech založené shrnutí toho, co jsme probrali.
To pomáhá uživatelům hledajícím „ubuntu compression“ rychle dojít k závěru.

8.1 Doporučené formáty podle případu použití

Use caseRecommended formatReason
Sharing with WindowszipHigh compatibility
Standard use within Linuxtar.gzGood balance
Size is the top prioritytar.xzHigh compression
Backup storagetar.gz / tar.xzPrioritize stability
Temporary transfertar.gzPrioritize speed

8.2 Porovnání formátů (rychlost vs poměr komprese)

FormatCompression ratioSpeedCPU load
zipNormalFastLow
tar.gzNormalFastLow to medium
tar.bz2HighSlowMedium
tar.xzVery highVery slowHigh

Poznámka: poměr komprese a rychlost se liší v závislosti na datech a prostředí.

8.3 Minimální příkazy, které byste si měli zapamatovat

Komprese zip

zip -r archive.zip folder/

Komprese tar.gz

tar -czvf archive.tar.gz folder/

Rozbalení tar.gz

tar -xzvf archive.tar.gz

8.4 Jednoduchý závěr pro začátečníky

  • Pokud si nejste jisti, použijte tar.gz
  • Pokud potřebujete sdílení s Windows, použijte zip
  • Pokud chcete co nejmenší velikost, použijte tar.xz

Vaší nejvyšší prioritou je zapamatovat si tar -czvf a tar -xzvf.

8.5 Časté špatné volby

  • Nesprávné pochopení, že tar sám může komprimovat
  • Vždy volit xz a zpomalovat zpracování
  • Nerozumění rozdílu mezi GUI a CLI
  • Nekontrolování využití disku před kompresí