zip -r 1.zip /home/username/the_folder At here, when i unzip 1.zip, it will create /home/username/the_folder, from whichever folder i am unzipping from.How do I zip, stating the full absolute paths, but make the zip only contain the folder structure starting at, in this case for instance, /home/username?That way I could be at whatever path i wanted, unzip and it would just create the_folder, and not /home/username/the_folder.
4 Réponses :
Utilisez un chemin relatif lors de la spécification du fichier à zip.
cd /home/username zip -r 1.zip ./the_folder
Il veut pouvoir utiliser un chemin absolu. S'il vous plaît noter «quel que soit le chemin que je voulais». Bien que ce que vous dites a du sens.
Que diriez-vous: P>
zipExtraFolder 1.zip /home/username/the_folder
Je ne peux pas vraiment lire ce code et cela ne causera pas de problèmes lorsque je commence à faire des commandes ZIP plus complexes?
Il suffit d'utiliser l'option -j code>, fonctionne sur
osx code>, je ne sais pas sur Linux. P>
zip -j -r 1.zip / home / nom d'utilisateur / the_folder code> p>
Je reçois une erreur, apparemment parce qu'il y a deux instances d'un fichier portant le même nom dans ce dossier. Même s'ils sont dans différents sous-dossiers.
J'avais oublié, l'option -j code> n'est pas pratique lorsque vous utilisez l'option
-r code>, car elle comprime tous les fichiers du dossier racine sans la structure de dossier.
Si -j code> ne fonctionne pas pour vous Checkout Cette réponse
Utilisez cette commande:
cd path_under_folder_to_zip && \ zip -r 1.zip folder_to_zip >/dev/null && \ mv 1.zip my_current_path
CD Path_under_folder_TO_ZIP && ZIP -R MY_CURrent_Path / 1.zip folder_to_zip> / dev / null
Fonctionne génial sur MacOS :) Merci.