it-swarm.dev

Jak rozbalit soubor Zip z terminálu?

Právě jste stáhli soubor .Zip z internetu. Chci použít terminál k rozbalení souboru. Jaký je správný způsob, jak toho dosáhnout?

1531
ubuntu-nerd

Pokud příkaz unzip ještě není nainstalován ve vašem systému, spusťte:

Sudo apt-get install unzip

Po instalaci obslužného programu unzip, pokud chcete extrahovat do konkrétní cílové složky, můžete použít:

unzip file.Zip -d destination_folder

Pokud jsou zdrojové a cílové adresáře stejné, můžete jednoduše:

unzip file.Zip
2041
Kelley

Můžete jednoduše použít unzip.

Nainstalujte jej:

apt-get install unzip

A použít:

cd /path/to/file
unzip file.Zip
240
Panther

Užitečnějším nástrojem je 7z, který zipuje a rozbaluje řadu kompresních formátů, zejména lzma, obvykle protokol nabízející nejvyšší kompresní rychlosti.

Tento příkaz nainstaluje 7z:

Sudo apt-get install p7Zip-full

Tento příkaz vypíše obsah Zipu:

7z l zipfile.Zip

Tento příkaz extrahuje obsah Zipu:

7z x zipfile.Zip
120
Chris

Můžeš použít:

unzip file.Zip -d somedir

extrahovat do yourpath/somedir

Pokud chcete extrahovat na absolutní cestu, použijte

Sudo unzip file.Zip -d /somedir
51
cristobalhdez

Používání skriptovacích nástrojů: Perl a Python

Mnoho odpovědí zde zmiňuje nástroje, které vyžadují instalaci, ale nikdo nezmínil, že dva skriptovací jazyky Ubuntu, Perl a Python, již přicházejí se všemi nezbytnými moduly, které vám umožňují rozbalit archiv Zip, což znamená, že nemusíte nic instalovat jiný. Stačí použít některý ze dvou skriptů uvedených níže k provedení práce. Jsou dost krátké a mohou být dokonce zhuštěny na příkaz jedné lodi, pokud chceme.

Python

#!/usr/bin/env python3
import sys
from zipfile import PyZipFile
for Zip_file in sys.argv[1:]:
    pzf = PyZipFile(Zip_file)
    pzf.extractall()

Používání:

./pyunzip.py master.Zip 

nebo

python3 pyunzip.py master.Zip

Perl

#!/usr/bin/env Perl
use Archive::Extract;
foreach my $filepath (@ARGV){
    my $archive = Archive::Extract->new( archive => $filepath );
    $archive->extract;
}

Používání:

./perlunzip master.Zip

nebo

Perl perlunzip.pl master.Zip

Viz také

44

Pokud jsou zdrojové a cílové adresáře stejné, můžete jednoduše:

unzip filename.Zip
32
Nadeem Khan

Dávám přednost bsdtarunzip/Zip. Pro extrakci jsou velmi podobné:

bsdtar -x -f /one/two/three/four.Zip -C /five
unzip /one/two/three/four.Zip -d /five

Nicméně pro zip, bsdtar vyhrává. Řekněme, že máte tento vstup:

/one/two/three/alfa/four.txt
/one/two/three/bravo/four.txt

a chcete to v souboru Zip:

alfa/four.txt
bravo/four.txt

To je snadné s bsdtar:

bsdtar -a -c -f four.Zip -C /one/two/three alfa bravo

Zip nemá -d možnost jako unzip, takže nemáte žádný způsob, jak dosáhnout výše, pokud cd první.

25
Steven Penny

Zde je podrobný popis možností, které považuji za užitečné:

Příkaz: unzip - [volba] Zip-path. 
 -D volitelný adresář, do kterého se extrahují soubory 
 -L Vypisuje archivní soubory. 
 -P heslo Použití heslo dešifrovat zašifrované záznamy zipfile (pokud existují). 
 -t Testuje archivní soubory pomocí kontroly cyklické redundance. 
 -u Aktualizujte stávající soubory. 
 -z archivovat komentář
22
kashminder

http://www.codebind.com/linux-tutorials/unzip-Zip-file-using-terminal-linux-ubuntu-linux-mint-debian/ :

Nainstalujte unzip ======================================================================= Příkaz unzip se používá k extrahování souborů z archivu ZIP.

Spusťte následující příkaz k instalaci unzip

Sudo apt-get install unzip

unzip Syntex

$ unzip [-aCcfjLlnopqtuvy] [-d dir] zipfile

Nyní postupujte podle následujících kroků:

Rozbalte soubor

MOŽNOST 1 - Pokud je soubor ZIP ve stejném adresáři/složce, ve které je váš terminál, a chceme jej extrahovat do současného pracovního adresáře.

Pomocí následujícího příkazu dosáhnete výše popsaného scénáře

Sudo unzip Zip_file_name.Zip

pokud je soubor Zip chráněn heslem, použijte následující příkaz:

Sudo ubzip -P Zip_file_name.Zip

Ujistěte se, že používáte -P (kapitál P) nikoli -p, protože existují různé možnosti.

MOŽNOST 2 - Pokud soubor Zip není přítomen ve stejném adresáři a chceme soubor rozbalit/rozbalit do jiného adresáře.

Pomocí následujícího příkazu dosáhnete výše popsaného scénáře

Sudo unzip path/filename.Zip -d another_path_or_same_path

pokud nepoužijeme volbu -d, bude soubor extrahován do současného pracovního adresáře.

A pokud je soubor ZIP chráněn heslem, můžeme také použít -P.

použijte příkaz tar v systému Linux/Unix

tar je zkratka pro Tape Archive. Příkaz tar se používá k manipulaci s archivy v systému Linux/Unix. Správci systému používají příkaz tar často k roztržení svazku souborů nebo adresářů do vysoce komprimovaného archivu, který se nazývá tarball nebo tar, bzip a gzip in = Linux/Unix systém.

dehtu Syntex

tar [OPTION...] [FILE]...

Nebo

požadovaný dehet Příznaky

tar {-r|-t|-c|-x|-u}

tar volitelné příznaky

tar {one of the required Flags} [ -d ][-B] [ -F ] [ -E ] [ -i ] [-h ] [ -l ] [ -m ] [ -o ] [ -p ] [ -w] [ -s ] [ -U ] [ -v ]
[-Number] [-b Blocks] [-f Archive]

Příklady

Vytvoření archivního souboru dehtu komprimováním adresáře nebo jednoho souboru

Příkaz terminálu níže vytvoří .tar soubor s názvem sample_dir.tar s adresářem /home/codebind/sample_dir nebo sample_dir v aktuálním pracovním adresáři.

[email protected]:~$  tar -cvf sample_dir.tar sample_dir
sample_dir/
sample_dir/main.cpp
sample_dir/sample.png
sample_dir/output
[email protected]:~$ ls
sample_dir sample_dir.tar

enter image description here

Ve skutečnosti tyto příznaky (-cvf) znamenají

-c, --create– vytvořit nový archiv

-x, --extract, --get– extrahovat soubory z archivu

-f, --file ARCHIVE– použití archivního souboru nebo zařízení ARCHIV

Vytvořit tar.gz nebo tgz Archivovat soubor komprimací adresáře nebo jednoho souboru

Příkaz terminálu níže vytvoří .tar.gz soubor s názvem sample_dir.tar.gz s adresářem /home/codebind/sample_dir nebo sample_dir v aktuálním pracovním adresáři.

Všimněte si, že jsme k příkazu přidali další příznak -z. Zde je to, co příznak -z ve skutečnosti znamená

-z, --gzip, --gunzip --ungzip– Komprimujte archiv pomocí gzip

[email protected]:~$ tar -cvzf sample_dir.tar.gz sample_dirsample_dir/
sample_dir/main.cpp
sample_dir/sample.png
sample_dir/output
[email protected]:~$ ls
sample_dir sample_dir.tar.gz

enter image description here

Příkaz níže vytvoří soubor .tgz. Jedním z těchto upozornění je tar.gz a tgz jsou podobné.

[email protected]:~$ tar -cvzf sample_dir.tgz sample_dirsample_dir/
sample_dir/main.cpp
sample_dir/sample.png
sample_dir/output
[email protected]:~$ ls
sample_dir sample_dir.tgz

Komprimace více adresářů nebo souborů najednou

Řekněme například, že chceme komprimovat sample_dir adresář, Java_test adresář a abc.py soubor do souboru dehtu s názvem sample_dir.tar.gz.

Spusťte následující příkaz k dosažení výše uvedeného cíle.

[email protected]:~$ tar -cvzf sample_dir.tar.gz sample_dir Java_test abc.py
sample_dir/
sample_dir/main.cpp
sample_dir/sample.png
sample_dir/output
Java_test/
Java_test/HelloCV.Java
abc.py
[email protected]:~$ ls
sample_dir Java_test abc.py sample_dir.tar.gz

enter image description here

Vytvořit .bzip2 Archivovat soubor komprimací adresáře nebo jednoho souboru

[email protected]:~$ tar -cjvf sample_dir.tar.bz2 sample_dir
sample_dir/
sample_dir/main.cpp
sample_dir/sample.png
sample_dir/output
[email protected]:~$ 

Všimněte si, že jsme přidali další příznak -f k příkazu. Zde je příznak -f ve skutečnosti znamená

-f, --file ARCHIVE– použití archivního souboru nebo zařízení ARCHIV

enter image description here

Extrahovat .tar Soubor archivu

Komprimovaný soubor můžeme extrahovat nebo zrušit pomocí příkazu tar. Následující příkaz rozbalí obsah sample_dir.tar do aktuálního adresáře.

[email protected]:~$ tar -xvf sample_dir.tar
sample_dir/
sample_dir/main.cpp
sample_dir/sample.png
sample_dir/output
[email protected]:~$ 

enter image description here

Následující příkaz rozbalí nebo rozbalí soubory v určeném adresáři, tj. /home/codebind/dir_name v tomto případě.

[email protected]:~$ tar -xvf sample_dir.tar -C /home/codebind/dir_name
sample_dir/
sample_dir/main.cpp
sample_dir/sample.png
sample_dir/output
[email protected]:~$ 

přidali jsme zvláštní příznak -C k příkazu. Zde je příznak -C ve skutečnosti znamená

-C, --directory DIR - přejděte do adresáře DIR

enter image description here

9
M.A.K. Ripon