Existuje řada různých způsobů, jak komprimovat soubory pomocí příkazového řádku systému Linux. Tento článek obsahuje praktické příklady, které ukazují, jak pomocí příkazu zip komprimovat a organizovat soubory v systému souborů.
Soubory se zipem se používají, když potřebujete ušetřit místo a zkopírovat velké soubory z jednoho místa do druhého.
Pokud máte 10 souborů o velikosti 100 megabajtů a je třeba je přenést na server ftp, přenos může trvat značné množství času v závislosti na rychlosti procesoru.
Pokud komprimujete všechny 10 souborů do jediného zip archivu a komprese snižuje velikost souboru na 50 MB na jeden soubor, pak stačí převést pouze polovinu dat.
Jak vytvořit archiv všech souborů ve složce
Představte si, že máte složku s písněmi s následujícími soubory MP3:
Night Prowler.mp3 |
Love hungry man.mp3 |
Get It Hot.mp3 |
Chůze po tobě.mp3 |
Dálnice do hell.mp3 |
Pokud chceš krev, máš to.mp3 |
Zobrazit down in flames.mp3 |
Dotkněte se příliš.mp3 |
Bít kolem bush.mp3 |
Girls Got Rhythm.mp3 |
Tento jednoduchý příkaz Linux, který ilustruje, jak vytvořit archiv všech souborů v aktuální složce nazvaném ACDC_Highway_to_Hell.zip:
zip ACDC_Highway_to_Hell *
Text posouvá obrazovku zobrazující soubory při jejich přidávání.
Jak zahrnout skryté soubory do archivu
Předchozí příkaz je vhodný pro archivaci všech souborů ve složce, ale obsahuje pouze soubory, které nejsou skryty.
Není to vždycky tak jednoduché. Představte si, že chcete zkopírovat domovskou složku, abyste ji mohli zálohovat na jednotku USB nebo externí pevný disk. Váš domovský adresář obsahuje skryté soubory.
Chcete-li komprimovat všechny soubory včetně skrytých souborů ve složce, spusťte následující příkaz:
zip home *. *
Tím vytvoříte soubor nazvaný home.zip se všemi soubory v domovské složce.
(Abyste mohli pracovat, musíte být v domovské složce). Problém s tímto příkazem spočívá v tom, že obsahuje pouze soubory v domovské složce, nikoli složky, což nás přivádí k dalšímu příkladu.
Jak archivovat všechny soubory a podsložky v souboru ZIP
Chcete-li do archivu zahrnout všechny soubory a podsložky, spusťte následující příkaz:
zip -r domů.
Jak přidat nové soubory do existujícího archivu ZIP
Chcete-li přidat nové soubory do existujícího archivu nebo aktualizovat soubory v archivu, použijte stejný název souboru archivu při spuštění příkazu zip.
Představte si například, že máte složku s hudebními soubory se čtyřmi albami a vytvoříte archiv s názvem music.zip, který chcete uchovat jako zálohu. Představte si, že o týden později stáhnete dvě nová alba. Chcete-li do souboru zip přidat nová alba, jednoduše spusťte stejný příkaz zip jako předchozí týden.
Chcete-li vytvořit původní hudební archiv, spusťte následující kód:
zip -r hudba / domov / vaše jméno / hudba /
Chcete-li do archivu přidat nové soubory, spusťte znovu stejný příkaz.
Pokud soubor ZIP obsahuje seznam souborů a jeden ze souborů na disku se změnil, upravený soubor je aktualizován v souboru zip.
Jak aktualizovat existující soubory v archivu ZIP
Pokud máte soubor zip, který by měl obsahovat stejné názvy souborů pokaždé a chcete soubor aktualizovat s jakýmikoli změnami provedenými v těchto souborech, pak -F přepínač vám to pomůže.
Představte si například, že máte soubor ZIP s následujícími soubory:
/ home / yourname / documents / file1 |
/ home / yourname / documents / file2 |
/ home / yourname / documents / file3 |
/ home / yourname / documents / file4 |
/ home / yourname / documents / file5 |
/ home / yourname / documents / file6 |
Teď si představte, že během týdne jste přidali dva nové soubory a upravili dva soubory, takže složka / home / yourname / documents nyní vypadá takto:
/ home / yourname / documents / file1 |
/ home / yourname / documents / file2 |
/ home / yourname / documents / file3 |
/ home / yourname / documents / file4 (aktualizováno) |
/ home / yourname / documents / file5 (aktualizováno) |
/ home / yourname / documents / file6 |
/ home / yourname / documents / file7 |
/ home / yourname / documents / file8 |
Při spuštění následujícího příkazu bude soubor zip obsahovat aktualizované soubory (soubor4 a soubor5), ale soubor7 a soubor8 nebudou přidány.
Zip zipfilename -f -r / home / yourname / documents
Jak odstranit soubory z archivu ZIP
Takže jste vytvořili masivní soubor zip se stovkami souborů a nyní si uvědomíte, že v souboru ZIP jsou čtyři nebo pět souborů, které zde nepotřebujete. Bez nutnosti zkopírovat všechny tyto soubory znovu, stačí spustit příkaz zip s -d přepněte následovně:
zip zipfilename -d název souboru v archivu
Například pokud máte soubor v archivu s názvem home / documents / test.txt, odstraníte jej pomocí tohoto příkazu:
zip název souboru zip -d home / documents / test.txt
Jak kopírovat soubory z jednoho souboru ZIP do jiného
Pokud máte soubory v jednom souboru ZIP a chcete je zkopírovat do jiného souboru ZIP, aniž byste je nejprve vybrali a rozřezali je, použijte -u přepínač.
Předpokládejme, že máte soubor zip nazvaný "variousmusic.zip" s hudbou od různých umělců, z nichž jedna je AC / DC. Kopie AC / DC skladeb ze souboru variousmusic.zip můžete zkopírovat do souboru ACDC.zip pomocí následujícího příkazu:
zip variousmusic.zip -U -out ACDC.zip "Back_In_Black.mp3"
Výše uvedený příkaz zkopíruje soubor "Back_In_Black.mp3" z různých musicic.zip na ACDC.zip.Pokud soubor ZIP, do kterého kopírujete, neexistuje, je vytvořen.
Jak používat vzorové přizpůsobení a potrubí k vytvoření archivu
Další přepínač je opravdu užitečný, protože umožňuje použít výstup dalších příkazů pro vkládání souborů do souboru ZIP. Předpokládejme, že chcete vytvořit soubor s názvem lovesongs.zip, který obsahuje každou píseň, která má v názvu název lásky.
Chcete-li najít soubory s láskou v názvu, můžete použít následující příkaz:
find / home / vaše jméno / Music -name * love *
Výše uvedený příkaz není 100 procent dokonalý, protože přijímá slova jako "jetel", ale dostanete nápad. Chcete-li přidat všechny vrácené výsledky z výše uvedeného příkazu do souboru zip nazvaného lovesongs.zip, spusťte tento příkaz:
find / home / vaše jméno / Music -name * love * | zip lovesongs.zip - @
Jak vytvořit archiv rozdělené
Pokud zálohujete počítač, ale jediné médium, které máte k dispozici pro zálohování, je sada prázdných disků DVD, pak máte na výběr. Soubory zip můžete uchovávat dokud soubor ZIP není 4,8 gigabajty a vypálíte disk DVD, nebo můžete vytvořit něco nazývaného rozdělený archiv, který po vytvoření limitu, který zadáte, vytváří nové soubory v sadě.
Například:
zip mymusic.zip -r / home / myfolder / Music-s 670m
Jak přizpůsobit zprávu o pokroku procesu zipování
Existují různé způsoby, jak přizpůsobit výstup, který se zobrazuje při zipování.
K dispozici jsou následující přepínače:
- -db = zobrazuje, kolik bajtů bylo načteno a kolik je ponecháno
- -dc = zobrazí počet zazálohovaných souborů a počet zbývajících souborů
- -dd = zobrazuje tečky pro každých 10 MB souboru, který má zip
- -ds = nastavuje, jak často se objeví body
- -du = zobrazuje nekomprimovanou velikost každého souboru
Například:
zip myzipfilename.zip -dc -r / home / hudba
Jak opravit soubor Zip
Pokud máte zip archiv, který je přerušený, můžete ho zkusit opravit pomocí -F příkaz a pokud to selže, FF příkaz.
To je užitečné, pokud jste vytvořili rozdělený archiv pomocí -s přepnout a ztratil jste jeden z archivních souborů.
Zkuste to například nejprve:
zip -F myfilename.zip --out myfixedfilename.zip
a pak
zip -FF myfilename.zip --out myfixedfilename.zip
Jak šifrovat archiv
Pokud máte citlivé informace, které chcete uložit do souboru ZIP, použijte -E příkaz k šifrování. Budete požádáni o zadání hesla a zopakování hesla.
Například:
zip myfilename.zip -r / home / wikileaks -e
Jak zobrazit to, co bude zkontrolováno
Pokud víte, že budete vytvářet velký archiv, ujistěte se, že do souboru ZIP budou přidány správné soubory. Očekávané výsledky příkazu zip můžete vidět zadáním příkazu -sf přepínač.
Například:
zip myfilename.zip -r / home / hudba / -sf
Jak testovat archiv
Po zálohování souborů do souboru ZIP je lákavé šetřit místo na disku odstraněním původních souborů. Než to uděláte, je dobré otestovat, zda soubor ZIP funguje správně.
Můžete použít -T přepnout na test, zda je zip soubor platný.
Například:
zip myfilename.zip -T
Výstup z tohoto příkazu, pokud je archiv neplatný, může vypadat takto:
- zip warning: chybí konec podpisu - pravděpodobně ne zip soubor
Nezapomeňte, že můžete zkusit příkaz -F opravit soubory ZIP.
Stojí za to poznamenat, že -T může produkovat falešné pozitiva v tom, že říká, že zip soubor je poškozen, i když při jeho otevření můžete extrahovat všechny soubory.
Jak vyloučit soubory
Někdy chcete vyloučit určité soubory ze souboru ZIP. Pokud například zkopírujete soubory z telefonu nebo digitálního fotoaparátu, máte směs videí a obrázků. Možná budete chtít zkopírovat fotografie na photos.zip a videa na videos.zip.
Zde je jeden způsob vyloučení videí při vytváření fotografií.zip
zip photos.zip -r / home / fotky / -x * .mp4
Jak určit úroveň komprese
Když komprimujete soubory do souboru ZIP, systém rozhodne, zda soubor komprimuje, nebo je pouze uloží. Soubory MP3 jsou například komprimovány, takže je málo na jejich kompresi; jsou obvykle uloženy v souboru ZIP.
Můžete však určit úroveň komprese mezi 0 a 9 pro kompresi souboru dále. To trvá déle, ale může to znamenat značnou úsporu místa.
zip myfiles.zip -r / home -5