it-swarm-eu.dev

Jak mohu zip / rozbalit na unixovém příkazovém řádku?

Jak mohu vytvořit a extrahovat archivy ZIP z příkazového řádku?

570
joachim

Obvykle jeden používá tar k vytvoření nekomprimovaného archivu a buď gzip nebo bzip2 Pro komprimaci tohoto archivu. K dekomprimaci uvedeného archivu lze použít odpovídající příkazy gunzip a bunzip2, Nebo můžete k dekompresi použít pouze příznaky v příkazu tar.

Pokud odkazujete konkrétně na formát souboru ZIP , můžete jednoduše použít příkazy Zip a unzip.

Komprimovat:

Zip squash.Zip file1 file2 file3

nebo Zip adresář

Zip -r squash.Zip dir1

Dekomprimovat:

unzip squash.Zip

to rozbalí ve vašem aktuálním pracovním adresáři.

698
Justin Ethier

V rámci unixových derivátů existuje opravdu obrovský několik různých způsobů komprese a dekomprese, takže předpokládám, že jste mysleli „Zip“ v obecném smyslu, spíše než konkrétní formát souboru.

Soubory můžete zipovat (v komprimovaném formátu) pomocí programu GNU tar):

tar -zcvf myfile.tgz .

který provede aktuální adresář. Nahradit . s jinými názvy souborů, pokud chcete něco jiného.

Chcete-li rozbalit tento soubor, použijte:

tar -zxvf myfile.tgz

To samozřejmě předpokládá, že máte tar, který je schopen provádět kompresi a také kombinovat soubory do jednoho.

Pokud ne, můžete použít tar cvf následované gzip (opět, je-li k dispozici) pro kompresi a gunzip následované tar xvf.


Pro konkrétní zacházení se soubory formátu Zip bych doporučil stáhnout 7Zip a pomocí toho - rozpozná obrovský různé formáty souborů, včetně formátu Zip.

68
user14408

Pokud nemáte nainstalované balíčky Zip a Unzip a máte Java, můžete k rozbalení použít jar:

jar -xf file.Zip
33
mlocke

Pokud jde o distribuci souborů pro různé operační systémy, doporučuji 7-Zip .

Obvykle v balíčku p7Zip, dostanete 7z a 7za příkaz, pomocí kterého si můžete vytvořit vlastní 7z archivy.

7za může také dekomprimovat standardní ( pkzip ) archivy ZIP (a také je vytvořit pomocí -tzip přepínač).

Komprese:

7za a archive.7z file1 file2 directory/

Dekomprimace:

7za x archive.7z

Může také vytvářet samorozbalovací archivy pomocí -sfx přepínač:

7za a -sfx archive.exe files1 file2 dir

Tuto metodu doporučuji v případě, že uživatelé Windows nemohou otevřít 7z archivy (v případě, že chcete poradit s nástrojem: PeaZip ).

Pokud chcete použít stejný kompresní algoritmus s tarbaly, použijte -J přepínač s tar:

tar cJf archive.tar.xz file1 file2 dir

xz je nástroj UNIX, který používá kompresi LZMA2, ale funguje způsobem gz, bz2 atd. funguje. Funguje to dokonce jako filtr.

7z nevytváří archivy s úplnými informacemi o souborovém systému v systému UNIX, takže byste před použitím 7z měli použít tar (ale protože 7z ukládá další informace o souboru tar, doporučuji) pomocí xz, jak je k tomu určeno):

tar cf - file1 file2 dir | 7za z -si archive.tar.7z
30
polemon
unzip <filename>

a

Zip -r archive.Zip <filename> [filename]

Musíte se ujistit, že tyto příkazy jsou nainstalovány prostřednictvím správce balíků. Není to těžší, než použít cokoli jiného na příkazovém řádku. Je to jistě jednodušší než vytváření archivů s dehtem.

23
Starfish

BSD Tar to také může udělat

bsdtar -a -c -f sunday.Zip sunday.jpg

Nebo:

bsdtar -x -f sunday.Zip
4
Steven Penny

Nejstandardnější odpověď je pax , což je doporučeno přes cpio a tar .

Na rozdíl od cpio a POSIX tar, ale jako GNU tar, pax je schopen archivovat soubory a komprimovat Toto chování se liší od Zip , který před vložením do archivu zkomprimuje každý soubor.

3
mouviciel

To se týká pouze extrakce.

Za tímto účelem jsem začal používat dtrx .

Celým cílem je odstranit složitost. Takže do něj předáte jakýkoli archiv a zjistíte, co s ním je třeba udělat. Zip, dehet, gz ... Použití je vždy stejné - dtrx archive.Zip. Ptá se pár otázek a máte hotovo.

dtrx je k dispozici ve většině repozitářů, takže ho můžete nainstalovat apt | yum.

2
JackLeo

Často se mi zdá, že se pokouším zkopírovat upravené soubory v mém pracovním adresáři - buď zkopírovat všechny upravené soubory do jiného pracovního adresáře karantény, nebo je na krátkou dobu uchovat, protože chci některé změny vrátit zpět.

V takovém případě zkopíruji seznam upravených souborů do dočasného souboru a použiji Zip s možností [email protected].

Řekněme, že jsem upravil soubory Foo.h, Bar.cc a TestBar.cc.

Řekněme, že vytvořím soubor s názvem modifikované soubory.txt, jehož obsah je:

Foo.h
Bar.cc
TestBar.cc

Na tyto soubory provedu následující příkaz:

cat modified-files.txt | Zip modified-files.Zip [email protected]
1
R Sahu