En essayant de décompresser un fichier nommé Joomla_3.0.3-Stable-Full_Package.Zip dans le répertoire nommé joomla , le nom du fichier ne correspond pas. Pourquoi donc?
[root @ Feddy Joomla] # unzip -Z Joomla_3.0.3-Stable-Full_Package.Zip/opt/lampp/htdocs/joomla /
Archive: Joomla_3.0.3-Stable-Full_Package.Zip
attention: le nom du fichier ne correspond pas:/opt/lampp/htdocs/joomla /
Voici la distribution d'écran du répertoire:
(Le répertoire joomla est vide)
Vous pouvez également l'obtenir en essayant de spécifier les fichiers à décompresser et en utilisant un caractère générique. Par exemple:
unzip -o somearchive.Zip somedir/*
Ce qui peut arriver, c’est que bash étend somedir/*
à un répertoire existant et aux fichiers qu’il contient. Cette liste est ensuite passée à décompresser et il essaie de trouver ces fichiers dans le fichier Zip.
Pour éviter ce problème, échappez simplement le *
comme ceci:
unzip -o somearchive.Zip somedir/\*
Ou mettez les fichiers à extraire entre guillemets:
unzip -o somearchive.Zip "somedir/*"
L'argument du nom de fichier après le nom de l'archive spécifie un fichier à extraire. Utilisez -d
pour spécifier le répertoire cible:
Usage: unzip [-Z] [-opts[modifiers]] file[.Zip] [list] [-x xlist] [-d exdir]
...
-d extract files into exdir
De plus, -Z
est utilisé pour interroger l'archive, pas pour l'extraire.
Si vous tentez de décompresser un fichier zippé avec un nouveau nom, l'exception "Filename not match" sera déclenchée. Pour contourner ce problème, déplacez le fichier Zip dans le répertoire de destination.
mv the_file.Zip somedir/
accédez au répertoire de destination
cd somedir/
à partir de là, exécutez la commande unzip sans l'argument du nom du fichier de destination
unzip the_file.Zip
Tout fonctionnera bien.
donc, dans ce cas, les commandes doivent être
[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