Bir dosyayı açmaya çalışırken, dizin olduğunda 'Dosya adı eşleşmedi'


32

Dizin adında için Joomla_3.0.3-Stable-Full_Package.zip adlı bir dosya halletmek çalışırken joomla ben dosya adı eşleşmedi olsun. Neden?

[root @ Feddy Joomla] # unzip -Z Joomla_3.0.3-Stable-Full_Package.zip / opt / lampp / htdocs / joomla /
Arşiv: Joomla_3.0.3-Stable-Full_Package.zip
Dikkat: dosya adı eşleşmedi: / opt / lampp / lampp / htdocs / joomla /

Dizinin ekran görüntüsü:

joomla ekran döküm

(Joomla dizini boş)

Yanıtlar:


36

Bunu, açılacak dosyaları belirlemeye çalışırken ve bir joker karakter kullanarak da elde edebilirsiniz. Örneğin:

unzip -o somearchive.zip somedir/*

Gerçekleşebilecek olan şey, bash'ın somedir/*varolan mevcut bir dizine ve içerdiği dosyalara genişlemesidir . Bu liste daha sonra sıkıştırılmış dosyaya aktarılır ve bu dosyaları zip dosyasında bulmaya çalışır.

Bu davranışı önlemek için sadece bu *gibi kaçış :

unzip -o somearchive.zip somedir/\*

Veya, çıkarılacak dosyaları çift tırnak içine alın:

unzip -o somearchive.zip "somedir/*"

1
Bayrak ne?
Amalgovinus

1
-O seçeneği, sorulmadan mevcut dosyaların üzerine yazmaktır.
sjbotha

-oBayrağınız yanlış unzip -o ARCHIVE_NAME.zipunzip ARCHIVE_NAME.zip -o
yerdeyken

Ancak bu cevap doğru ifadeler olsa da, OP'nin sahip olduğu sorunu çözmez, ki bu, çözülecek argümanlar hakkında yanlış bir anlama gelir.
Ernest Friedman-Hill

Bu hatayı aldım, bu sayfayı buldum ve bu cevap sorunumu çözdü.
Derek Bennett

16

Arşiv adından sonraki dosya ismi argümanı, çıkartılacak dosyayı belirtir. -dHedef dizini belirlemek için kullanın :

Usage: unzip [-Z] [-opts[modifiers]] file[.zip] [list] [-x xlist] [-d exdir]
    ...
    -d  extract files into exdir

Dahası, -Zarşivin sorgulanmasında kullanılır, çıkartılmaz.


seni anlamadım Lütfen emirleri yazabilir misiniz
Suhail Gupta

1
@SuhailGupta: unzip -d /opt/lampp/htdocs/joomla/ Joomla_3.0.3-Stable-Full_Package.zipyani düşür -Z, ekle -d.
choroba

2

Bu tam komut benim için çalıştı:
unzip -o archive.zip -d /Users/current/Dev/tools/

Seçeneklerin kombinasyonuna ( -ove -dhedef / enflasyon yolu) dikkat edin.


benim için çalıştı.
Manikandan Arunachalam

2

Fermuar dizinin tamamını tek bir komutla açmaya çalışırsanız, bu hatayı alırsınız:

unzip *.zip

Çözümü başka bir sitede buldum. *Onun yerine bunu çalışmalıdır böylece sembolü, öncelenmelidirler:

unzip \*.zip

yerine.


oh .. kaçış sembollerine izin verilmiyor gibi görünüyor ama herkesin ne olduğunu bildiğinden eminim.
dfasdfg

Bu bana hiç mantıklı gelmiyor, en azından Unix / Linux hakkında konuşuyorsan. (Windows hakkında konuşuyorsanız mantıklı gelebilir, ancak bu soru Fedora Linux ile ilgilidir.) Ve mantıklı olduğu ölçüde (potansiyel olarak), sjbotha'nın cevabının bir kopyası gibi görünüyor  . Ne demek istediğini daha net açıklayabilir misin?
G-Man,

Linux sisteminde kullandığım unzip komutundan bahsediyordum. birçok zip dosyası içeren bir dizine sahiptim ve hepsini unzip * .zip ile çıkarmaya çalıştım ve bu hatayı * kaçmadığı için aldım. Ayrıca, op sadece bir zip dosyasını çıkarmaya çalıştığından ve bir tanesini bir komutla çıkarmaya çalıştığım için buraya ait değilsiniz.
dfasdfg

1

Sıkıştırılmış bir dosyayı yeni bir adla açmaya çalışmak, 'Dosya adı eşleşmiyor' istisnasını yükseltir. Bunu gidermek için zip dosyasını hedef dizine taşıyın

mv the_file.zip somedir/

Hedef dizine git

cd somedir/

oradan hedef dosyaadı argümanı olmadan unzip komutunu çalıştırın.

unzip the_file.zip

Her şey iyi çalışacak.

yani bu durumda komutlar olmalıdır

[root@Feddy Joomla]# mv Joomla_3.0.3-Stable-Full_Package.zip /opt/lampp/htdocs/joomla/
[root@Feddy Joomla]# cd /opt/lampp/htdocs/joomla/
[root@Feddy Joomla]/opt/lampp/htdocs/joomla# unzip Joomla_3.0.3-Stable-Full_Package.zip
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.