Jak mohu vytvořit a extrahovat archivy ZIP z příkazového řádku?
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.
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.
Pokud nemáte nainstalované balíčky Zip a Unzip a máte Java, můžete k rozbalení použít jar
:
jar -xf file.Zip
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
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.
BSD Tar to také může udělat
bsdtar -a -c -f sunday.Zip sunday.jpg
Nebo:
bsdtar -x -f sunday.Zip
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
.
Č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]