Mencoba membuka zip file, 'Nama file tidak cocok' ketika direktori ada

32

Saat mencoba membuka zip file bernama Joomla_3.0.3-Stable-Full_Package.zip ke direktori bernama joomla saya mendapatkan nama file yang tidak cocok. Mengapa demikian?

[root @ Feddy Joomla] # unzip -Z Joomla_3.0.3-Stable-Full_Package.zip / opt / lampp / htdocs / joomla /
Arsip: Joomla_3.0.3-Stable-Full_Package.zip
hati-hati: nama file tidak cocok: / opt / lampp / htdocs / joomla /

Berikut ini adalah pemeran layar dari direktori:

pemeran layar joomla

(Direktori joomla kosong)

Suhail Gupta
sumber

Jawaban:

36

Anda juga bisa mendapatkan ini ketika mencoba menentukan file untuk unzip dan menggunakan karakter wildcard. Sebagai contoh:

unzip -o somearchive.zip somedir/*

Apa yang mungkin terjadi adalah bahwa bash memperluas somedir/*ke direktori aktual yang ada dan file-file yang dikandungnya. Daftar itu kemudian diteruskan ke unzip dan mencoba menemukan file-file ini di file zip.

Untuk mencegah perilaku ini, lepaskan diri *seperti ini:

unzip -o somearchive.zip somedir/\*

Atau, letakkan file untuk mengekstrak dalam tanda kutip ganda:

unzip -o somearchive.zip "somedir/*"
sjbotha
sumber
1
Apa bendera -o?
Amalgovinus
1
Opsi -o adalah untuk menimpa file yang ada tanpa diminta.
sjbotha
Anda mungkin juga mendapatkan kesalahan 'Nama file tidak cocok' ketika -obendera Anda berada di tempat yang salah: unzip -o ARCHIVE_NAME.zipbaik saat unzip ARCHIVE_NAME.zip -osedang buruk
Jaymon
Menurunkan karena, meskipun jawaban ini membuat pernyataan yang benar, mereka tidak membahas masalah yang dimiliki OP, yang merupakan kesalahpahaman tentang argumen yang harus di-unzip.
Ernest Friedman-Hill
Saya mengalami kesalahan ini, menemukan halaman ini, dan jawaban ini menyelesaikan masalah saya.
Derek Bennett
16

Argumen nama file setelah nama arsip menentukan file untuk diekstraksi. Gunakan -duntuk menentukan direktori target:

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

Selain itu, -Zdigunakan untuk menanyakan arsip, bukan mengekstraksi.

choroba
sumber
tidak mengerti Anda. Tolong tuliskan perintahnya
Suhail Gupta
1
@SuhailGupta:, unzip -d /opt/lampp/htdocs/joomla/ Joomla_3.0.3-Stable-Full_Package.zipyaitu drop -Z, add -d.
choroba
2

Perintah persis ini bekerja untuk saya:
unzip -o archive.zip -d /Users/current/Dev/tools/

Perhatikan kombinasi opsi -o& -d(jalur tujuan / inflasi).

Bubur
sumber
bekerja untuk saya juga.
Manikandan Arunachalam
2

Anda juga akan mendapatkan kesalahan itu jika Anda mencoba unzip seluruh direktori zip dengan satu perintah, seperti:

unzip *.zip

Saya menemukan solusinya di situs lain. The *simbol harus melarikan diri, sehingga Anda harus menjalankan ini sebagai gantinya:

unzip \*.zip

sebagai gantinya.

dfasdfg
sumber
oh .. sepertinya simbol pelarian tidak diizinkan, tetapi saya yakin semua orang tahu apa itu.
dfasdfg
Ini tidak masuk akal bagi saya, setidaknya tidak jika Anda berbicara tentang Unix / Linux. (Mungkin masuk akal jika Anda berbicara tentang Windows, tetapi pertanyaan ini tentang Fedora Linux.) Dan, sejauh hal itu masuk akal (berpotensi), tampaknya merupakan duplikat dari  jawaban sjbotha . Bisakah Anda menjelaskan apa yang Anda maksudkan dengan lebih jelas?
G-Man Mengatakan 'Reinstate Monica'
saya berbicara tentang perintah unzip yang saya gunakan pada sistem linux. Saya mempunyai direktori dengan banyak file zip dan saya mencoba untuk mengekstraknya semua dengan unzip * .zip dan mendapat kesalahan itu karena * tidak lolos. Anda mungkin juga benar tentang ini bukan milik sini karena op hanya mencoba untuk mengekstrak satu file zip dan saya mencoba untuk mengekstrak banyak dengan satu perintah.
dfasdfg
1

Mencoba membuka zip file zip dengan nama baru akan meningkatkan pengecualian 'Nama file tidak cocok'. Untuk mengatasinya, pindahkan file zip ke direktori tujuan

mv the_file.zip somedir/

arahkan ke direktori tujuan

cd somedir/

dari sana jalankan perintah unzip tanpa argumen nama file tujuan

unzip the_file.zip

Semuanya akan bekerja dengan baik.

jadi dalam hal ini perintahnya harus

[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
Tenflex
sumber