Zip de commande pour exclure des fichiers et des répertoires
je suis en train d'utiliser cette commande ssh pour centos 5 à zip en place d'un répertoire complet des dossiers et des fichiers à exclure les exemples ci-dessous. il ne fonctionne pas.
zip -r file.zip * -x dir1 -x dir2 -x file1 -x file2
ou cette un
zip -r file.zip * -x "dir1" -x "dir2" -x "file1" -x "file2"
Il reste juste zips jusqu'à l'ensemble du répertoire et tout ce qu'il dans. Je ne veux pas dir1 dir2 fichier1 fichier2.
J'ai besoin de savoir le droit -x syntaxe pour l'exclure des fonctions de travail.
- oui c'est une question de programmation pour un script ssh.
- Stack Overflow est un site pour la programmation et les questions de développement. Cette question semble être hors-sujet, car il n'est pas sur la programmation ou le développement. Voir Quels sont les sujets que pouvez-vous nous parler ici dans le Centre d'Aide. Peut-être Super-Utilisateur ou Unix & Linux Stack Exchange serait un meilleur endroit pour demander cela.
- Unix zip répertoire, mais exclus des sous-répertoires spécifiques, comment exclure des répertoires et de fichiers compresser un répertoire?, Comment faire pour exclure un répertoire lors de la compression de fichiers, etc.
Vous devez vous connecter pour publier un commentaire.
La
-x
option est un peu étrange; vous la liste des fichiers, en commençant par-x
, et se terminant par un@
signe:Aussi je doute sérieusement que vous voulez
\
dans vos noms de fichiers sur un système Unix ... assurez-vous que vos chemins d'accès sont OK./
est le chemin habituel séparateur.Exemple:
Avec des sous-répertoires, vous pouvez facilement omettre leur contenu à l'aide d'un générique, mais il semble que le
*
causes du répertoire lui-même pour être inclus (vide):Vous pourriez mieux omettre le
*
et la liste explicite de ces choses que vous ne voulez inclus...(le
\
à la fin juste continue à la ligne suivante; vous pouvez le mettre sur une seule ligne, sans fuite\
)-x
à la tête et l'un@
à la fin... et, êtes-vous vraiment en cours d'exécutionzip
de l'intérieur du répertoire que vous êtes à la compression?-x dir/* @
à dépouiller les répertoires que vous ne voulez pas de zip, ou ... eh bien, si votre application est jonchent le répertoire racine avec 100 fichiers, c'est peut-être temps pour un nettoyage de la base de code pour faire moins de gâchis? 🙂 Un truc: Si vos noms de fichiers ont des points et des répertoires ne le faites pas, vous pourriez peut-être ajouter*.*
à la liste. À la différence de DOS/Windows, ce sera seulement inclure des fichiers avec un littéral.
en leur nom, donc il va ignorer les fichiers/répertoires sans elle (commetemplates
)Pour mon système particulier, en vue d'exclure un répertoire, j'ai dû mettre des guillemets autour de mes répertoires exclus et cela a fonctionné comme un charme:
Notes:
-- cette fois exclus du répertoire à exclure et tous les fichiers à l'intérieur.
-- Vous devez utiliser le chemin complet vers les répertoires que vous souhaitez inclure et exclure!
-- Aussi longtemps que l'exclut sommes à la fin de la ligne que vous n'avez pas besoin de le symbole @
Si vous êtes à l'aide de mastic, veuillez suivre les étapes suivantes:
$ cd directory_name
et appuyez sur entréeCommande d'écriture:
Après
zip
Utilisation.
pour le répertoire courant,*
est un joker.