Intentando descomprimir un archivo, 'Nombre de archivo no coincidente' cuando el directorio existe


32

Al intentar descomprimir un archivo llamado Joomla_3.0.3-Stable-Full_Package.zip en el directorio llamado joomla , obtengo el nombre de archivo no coincidente. ¿Porqué es eso?

[root @ Feddy Joomla] # descomprimir -Z Joomla_3.0.3-Stable-Full_Package.zip / opt / lampp / htdocs / joomla /
Archive: Joomla_3.0.3-Stable-Full_Package.zip
precaución: nombre de archivo no coincidente: / opt / lampp / htdocs / joomla /

Aquí está el reparto de la pantalla del directorio:

reparto de pantalla de joomla

(El directorio de joomla está vacío)

Respuestas:


36

También puede obtener esto cuando intente especificar los archivos para descomprimir y usar un carácter comodín. Por ejemplo:

unzip -o somearchive.zip somedir/*

Lo que puede suceder es que bash se expande somedir/*a un directorio existente real y los archivos que contiene. Esa lista se pasa a descomprimir e intenta encontrar estos archivos en el archivo zip.

Para evitar este comportamiento, simplemente escapa de la *siguiente manera:

unzip -o somearchive.zip somedir/\*

O coloque los archivos para extraer entre comillas dobles:

unzip -o somearchive.zip "somedir/*"

1
¿Qué es la bandera -o?
Amalgovinus

1
La opción -o es sobrescribir los archivos existentes sin preguntar.
sjbotha

También puede obtener el error 'Nombre de archivo no coincidente' cuando su -obandera está en el lugar incorrecto: unzip -o ARCHIVE_NAME.zipes bueno mientras unzip ARCHIVE_NAME.zip -oes malo
Jaymon

Voto a favor porque, aunque esta respuesta hace afirmaciones verdaderas, no abordan el problema que tiene el OP, que es un malentendido acerca de esos argumentos para descomprimir.
Ernest Friedman-Hill

Tuve este error, encontré esta página y esta respuesta resolvió mi problema.
Derek Bennett

16

El argumento del nombre del archivo después del nombre del archivo especifica un archivo para extraer. Use -dpara especificar el directorio de destino:

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

Además, -Zse utiliza para consultar el archivo, no para extraerlo.


no te entendí ¿Puedes por favor escribir el comando
Suhail Gupta

1
@SuhailGupta: unzip -d /opt/lampp/htdocs/joomla/ Joomla_3.0.3-Stable-Full_Package.zipes decir -Z, soltar , agregar -d.
choroba

2

Este comando exacto funcionó para mí:
unzip -o archive.zip -d /Users/current/Dev/tools/

Observe la combinación de opciones -oy -d(ruta de destino / inflación).


Trabajó para mí también.
Manikandan Arunachalam

2

También recibirá ese error si intenta descomprimir un directorio completo de cremalleras con un solo comando, como:

unzip *.zip

Encontré la solución en otro sitio. El *símbolo debe escapar, por lo que debe ejecutar esto en su lugar:

unzip \*.zip

en lugar.


oh ... parece que los símbolos de escape no están permitidos, pero estoy seguro de que todos saben cuáles son.
dfasdfg

Esto no tiene ningún sentido para mí, al menos no si estás hablando de Unix / Linux. (Puede tener sentido si está hablando de Windows, pero esta pregunta es sobre Fedora Linux). Y, en la medida en que tiene sentido (potencialmente), parece ser un duplicado de la respuesta de  sjbotha . ¿Puedes explicar lo que quieres decir más claramente?
G-Man dice 'reinstalar a Monica' el

Estaba hablando del comando descomprimir que utilicé en un sistema Linux. Tenía un directorio con muchos archivos zip e intenté extraerlos todos con descomprimir * .zip y obtuve ese error porque * no se escapó. Es posible que también tenga razón acerca de que esto no pertenece aquí, ya que el operador simplemente intentó extraer un archivo zip y estaba tratando de extraer muchos con un solo comando.
dfasdfg

1

Intentar descomprimir un archivo comprimido con un nuevo nombre generará la excepción 'Nombre de archivo no coincide'. Para solucionar esto, mueva el archivo zip al directorio de destino

mv the_file.zip somedir/

navegar al directorio de destino

cd somedir/

desde allí ejecute el comando descomprimir sin el argumento del nombre de archivo de destino

unzip the_file.zip

Todo funcionará bien.

así que en este caso los comandos deberían ser

[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
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.