Bir zip dosyasını Terminal'den nasıl açarım?


1413

İnternetten bir .zip dosyası indirdim. Dosyayı açmak için terminali kullanmak istiyorum. Bunu yapmanın doğru yolu nedir?


3
Tüm dosyaları geçerli klasörden ayıkla, şunları kullanabilirsiniz: unzip \ *. Zip
burtsevyg 18:16

2
@burtsevyg ters eğik çizgi orada gerekli değildir. Kabuğun \*değişmez yıldız sembolü olarak işlem görmesini sağlayacaktır . Sadece unzip *.zipkabuk *biten tüm dosyalara genişlemek için kullanın.zip
Sergiy Kolodyazhnyy

*Yalnız kullanmak benim için işe yaramadı. Hatalara neden oldu filename not matched. \*işi yaptı.
arman_aegit

Belirli özelliklere ihtiyaç duymadığınız sürece, belirli bir zip yerine "unar" kullanmanızı ve öğrenmenizi öneririz. "Desteklenen dosya biçimleri arasında Zip, Tar-GZip, Tar-BZip2, RAR, 7-zip, LhA, StuffIt ve diğer birçok eski ve belirsiz biçimler bulunur."
masterxilo

Ubuntu, önceden kurulmuş çoklu sıkıştırma / açma araçlarına sahiptir. apropos zipTam liste için konsoldan çalıştırın .
Stephen W. Wright

Yanıtlar:


1926

Eğer unzipkomut zaten sisteminizde yüklü değilse, o zaman çalıştırın:

sudo apt-get install unzip

Unzip yardımcı programını yükledikten sonra, belirli bir hedef klasöre çıkarmak istiyorsanız, şunları kullanabilirsiniz:

unzip file.zip -d destination_folder

Kaynak ve hedef dizinleri aynıysa, şunları yapabilirsiniz:

unzip file.zip

83
Zaten dizinde iseniz, dosyanın açılmasını istiyorsanız, 2. ve 3. argümanları atlayın, örn.unzip /path/to/file.zip
Severo Raz

2
Ben sadece bu komutu kullandım. Bu bir örnektir. 1. Adım (I zip dosyası saklandığı dizine değiştirildi): cd /home/paf/Copy/Programming/Javascript/Json Adım 2 (ı Biraz önce bahsettiğim dizinde zip dosyasını ayıklamak):unzip file.zip -d /home/paf/Copy/Programming/Javascript/Json
pablofiumara

2
unzipvarsayılan bir program olabilir. Başka bir deyişle, yüklemeniz gerekmeyebilir.
noobninja

2
@Aevi Man sayfalarını kontrol et[-d exdir] An optional directory to which to extract files.
WAKR

4
Bir dizine ayıkladığınızdan emin olun, tar arşivlerinin aksine, birçok kişinin zip dizinindeki kök dizinlerinde düzinelerce dosya bulunduğunu görebilirsiniz, bu gerçek bir karışıklık yaratabilir !!!
Steve

230

Basitçe kullanabilirsiniz unzip.

Yükle:

apt-get install unzip

Ve kullan:

cd /path/to/file
unzip file.zip

117

Daha yararlı bir araç 7z, özellikle lzmade en yüksek sıkıştırma oranlarını sunan protokol olan bir dizi sıkıştırma formatını sıkıştırıp açan .

Bu komut yüklenir 7z:

sudo apt-get install p7zip-full

Bu komut zip içeriğini listeler:

7z l zipfile.zip

Bu komut zip içeriğini çıkarır:

7z x zipfile.zip

5
7z edizin yapısını 7z xtutmaz - yok ...
assylias 23:13

2
13.10, 7z'nin olmadığını söylüyor. Ben sudo apt-get install 7zip
nitishch

6
İnstall komutunun olması gerektiğini sudo apt-get install p7zipya sudo apt-get install p7zip-fullda 7zkomutu almak için tam sürüme ihtiyacınız olduğunu düşünüyorum . Dolu aynı zamanda zip ve diğer iki formatı işleyen tek kişidir.
Automatico

1
"Daha kullanışlı bir araç" ı açıklığa kavuşturur musunuz? Açmak için karşılaştırıyor musunuz? 7z'i daha kullanışlı ve belki de 7z bağlamında tercih edilen özellikleri gösteren herhangi bir örnek verebilir misiniz?
David LeBauer 29:15

1
Bazı sıkıştırılmış dosyaları açmak için daha kullanışlıdır: kullanımı kolay ve hatırlanması gereken adı.
Utangaç Robbiani,

47

Kullanabilirsiniz:

unzip file.zip -d somedir

çıkarmak yourpath/somedir

Mutlak bir yola çıkarmak istiyorsanız,

sudo unzip file.zip -d /somedir

39

Komut dosyası oluşturma araçlarını kullanma: Perl ve Python

Buradaki birçok cevap kurulum gerektiren araçlardan bahseder, ancak hiç kimse Ubuntu'nun betik dillerinden iki tanesi olan Perl ve Python'un zaten bir zip arşivini açmanıza izin veren tüm gerekli modüllerle geldiğini söylemedi, bu da bir şey yüklemenize gerek olmadığı anlamına geliyor. Başka. İşi yapmak için aşağıda verilen iki komuttan birini kullanın. Oldukça kısalar ve eğer istersen tek bir komuta bile veriliyor.

piton

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

Kullanımı:

./pyunzip.py master.zip 

veya

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;
}

Kullanımı:

./perlunzip master.zip

veya

perl perlunzip.pl master.zip

Ayrıca bakınız


1
Teşekkürler, tam olarak ihtiyacım olanı. Kökün yok ve unzip'i kaynaktan el ile yüklemek istemiyorum. Bu, aynı zamanda çoğunlukla işe yarayacak olan tek bir astarla da kullanılabilir ( '''dosya adının içinde olmadığını varsayarak ):unzip(){ python -c "from zipfile import PyZipFile; PyZipFile( '''$1''' ).extractall()"; }
mxmlnkn

@mxmlnkn Sevindim ben :) :)
Sergiy Kolodyazhnyy

30

Kaynak ve hedef dizinleri aynıysa, şunları yapabilirsiniz:

unzip filename.zip

Ubuntu 17.04'te -d, bilinmeyen bir sebepten dolayı gerektirir.
皞 皞

21

Ben tercih bsdtaretmek unzip/ ' zip. Çıkarmak için, oldukça benzerler:

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

Ancak sıkıştırmak için bsdtarkazanır. Diyelim ki bu girdi:

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

ve bunu zip dosyasında istiyorum:

alfa/four.txt
bravo/four.txt

Bu kolay bsdtar:

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

zip, -dunzip gibi bir seçeneğe sahip olmadığı için, cdilk önce siz yapmadıkça yukarıdakileri elde etmenin bir yolu yoktur .


Kazanan bir foss aracına vermek istediğim kadarıyla, görünüşte uncpropressing bsdtarkelimesinde en az bir tanesi gibi özel karakterlerle Blóðstokkinnuyuşmuyor. Sıkıştırırken bile kontrol etmedim. Tam bir serseri. : / unzipsorunsuzca halletti.
Vrakfall

20

İşte faydalı bulduğum seçeneklerin ayrıntılı açıklaması:

Komut: unzip - [seçenek] zip yolu.
               -d dosyaları çıkarmak için isteğe bağlı bir dizin  
               -L Listesi arşiv dosyaları.
               -P şifre kullanın şifre (varsa) zipfile girdileri şifreli şifresini.
               -t Döngüsel artıklık denetimi ile arşiv dosyalarını test edin.  
               -u Mevcut dosyaları güncelle.  
               -z arşiv yorumu

8

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

Unzip'i kurun ============= Öyleyse, önceden kurulmamışsa, sistemimize unzip kurmamız gerekir. unzip komutu, bir ZIP arşivinden dosyaları çıkarmak için kullanılır.

Yüklemek için aşağıdaki komutu çalıştırın unzip

sudo apt-get install unzip

unzip Sentaks

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

Şimdi aşağıdaki adımları izleyin:

UnZip Dosyası

SEÇENEK 1 - Eğer Zip Dosyası, terminalinizin bulunduğu dizinde / klasöründeyse ve onu mevcut çalışma dizinine çıkarmak istiyoruz.

Yukarıda açıklanan senaryoyu elde etmek için aşağıdaki komutu kullanın

sudo unzip zip_file_name.zip

zip dosyası bir şifre ile korunuyorsa, aşağıdaki komutu kullanın:

sudo ubzip -P zip_file_name.zip

Lütfen farklı seçenekler olduğundan -P (büyük harf P) 'yi kullandığınızdan emin olun.

SEÇENEK 2 - Eğer zip dosyası aynı dizinde yoksa ve dosyayı farklı bir dizinde çıkartmak / açmak istiyoruz.

Yukarıda açıklanan senaryoyu elde etmek için aşağıdaki komutu kullanın

sudo unzip path/filename.zip -d another_path_or_same_path

-d seçeneğini kullanmazsak, dosya mevcut çalışma dizinine çıkarılır.

Zip dosyası şifre korumalı ise ve biz de kullanabiliriz -P.

Linux / Unix'te tar komutunu kullan

tarTape Archive'ın kısaltmasıdır. tar komutu Linux / Unix'teki arşivleri yönetmek için kullanılır. Sistem yöneticileri denir yüksek oranda sıkıştırılmış arşiv dosyaları veya dizinleri bir demet rip için sık katran komutunu kullanır tarballveya tar, bzipve gzipde Linux / Unix sisteminde.

katran Syntex

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

Veya

katran gerekli Bayraklar

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

tar isteğe bağlı bayrakları

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]

Örnekler

Bir Dizini veya Tek Bir Dosyayı Sıkıştırarak tar Arşiv Dosyası Oluşturma

Aşağıdaki terminal komutu bir dizinde veya mevcut çalışma dizininde .taradı verilen bir dosya oluşturacaktır .sample_dir.tar/home/codebind/sample_dirsample_dir

ripon@ripon:~$  tar -cvf sample_dir.tar sample_dir
sample_dir/
sample_dir/main.cpp
sample_dir/sample.png
sample_dir/output
ripon@ripon:~$ ls
sample_dir sample_dir.tar

görüntü tanımını buraya girin

İşte bu bayrakları (-cvf) aslında ne anlama geldiğini

-c, --create- yeni bir arşiv oluştur

-x, --extract, --get- bir arşivden dosyaları çıkart

-f, --file ARCHIVE- arşiv dosyasını veya ARCHIVE cihazını kullan

Bir Dizini veya Tek Bir Dosyayı Sıkıştırarak Dosya Oluşturma tar.gzveya tgzArşivleme

Aşağıdaki terminal komutu bir dizinde veya mevcut çalışma dizininde .tar.gzadı verilen bir dosya oluşturacaktır .sample_dir.tar.gz/home/codebind/sample_dirsample_dir

-Z komutuna fazladan bayrak eklediğimize dikkat edin. Bayrak -z aslında ne anlama geliyor?

-z, --gzip, --gunzip --ungzip- Arşivi gzip ile sıkıştır

ripon@ripon:~$ tar -cvzf sample_dir.tar.gz sample_dirsample_dir/
sample_dir/main.cpp
sample_dir/sample.png
sample_dir/output
ripon@ripon:~$ ls
sample_dir sample_dir.tar.gz

görüntü tanımını buraya girin

Aşağıdaki komut bir .tgz dosyası oluşturacaktır. Dikkat edilmesi gerekenlerden biri tar.gz ve tgz'nin ikisi de benzer.

ripon@ripon:~$ tar -cvzf sample_dir.tgz sample_dirsample_dir/
sample_dir/main.cpp
sample_dir/sample.png
sample_dir/output
ripon@ripon:~$ ls
sample_dir sample_dir.tgz

Birden Çok Dizini veya Dosyayı Aynı Anda Sıkıştırma

Diyelim ki, örneğin, sample_dirdizini, java_testdizini ve abc.pydosyayı adı verilen bir tar dosyasına sıkıştırmak istiyoruz sample_dir.tar.gz.

Yukarıdaki amaca ulaşmak için aşağıdaki komutu çalıştırın.

ripon@ripon:~$ 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
ripon@ripon:~$ ls
sample_dir java_test abc.py sample_dir.tar.gz

görüntü tanımını buraya girin

.bzip2Bir Dizini veya Tek Bir Dosyayı Sıkıştırarak Arşiv Dosyası Oluşturun

ripon@ripon:~$ tar -cjvf sample_dir.tar.bz2 sample_dir
sample_dir/
sample_dir/main.cpp
sample_dir/sample.png
sample_dir/output
ripon@ripon:~$ 

-fKomuta fazladan bayrak eklediğimize dikkat edin. Bu bayrak -faslında ne anlama geliyor?

-f, --file ARCHIVE- arşiv dosyasını veya ARCHIVE cihazını kullan

görüntü tanımını buraya girin

.tarArşiv Dosyasını Çıkar

Tar komutunu kullanarak sıkıştırılmış dosyayı ayıklayabilir veya kaldırabiliriz. Aşağıdaki komut sample_dir.tarmevcut dizine içeriğini çıkartacaktır .

ripon@ripon:~$ tar -xvf sample_dir.tar
sample_dir/
sample_dir/main.cpp
sample_dir/sample.png
sample_dir/output
ripon@ripon:~$ 

görüntü tanımını buraya girin

Aşağıdaki komut, bu dizinde belirtilen dizinde bulunan dosyaları ya da Untar dosyalarını çıkaracaktır /home/codebind/dir_name.

ripon@ripon:~$ tar -xvf sample_dir.tar -C /home/codebind/dir_name
sample_dir/
sample_dir/main.cpp
sample_dir/sample.png
sample_dir/output
ripon@ripon:~$ 

-Ckomuta fazladan bayrak ekledik . Bu bayrak -C aslında ne anlama geliyor?

-C, --directory DIR - dizine değiştir

görüntü tanımını buraya girin


1
Ayrıca, zip / unzip yüklüyse, kullanmak kontrol etmek zip -vve unzip -v. Eğer UnZip 6.00 of 20 April 2009, by Debian. Original by Info-ZIP.The program 'zip' is currently not installed. You can install it by typing: apt install zip
kurulursa
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.