Dans cet article, nous allons jouer un peu avec la commande zip en ligne de commande sous linux afin de compresser un répertoire tout en excluant certains sous-répertoires.
Installer la commande zip si nécessaire :
Si ce n’est pas déjà le cas, pour installer la commande zip sous ubuntu/debian lancez la commande suivante :
1 |
sudo apt-get install zip unzip |
L’arborescence utilisée pour l’exemple :
- root/
- composer.json
- composer.lock
- .git/
- …
- .gitignore
- src/
- …
- tests/
- …
- vendor/
- …
Exclure complètement les répertoires de l’archive
On désire zipper le répertoire root en excluant les répertoires « .git/ » et « vendor/ ». Voici la commande à lancer :
1 |
zip -r root.zip root/ -x root/.git\* root/vendor\* |
Conserver les répertoires mais pas les fichiers
Si l’on veut conserver les répertoires mais ne pas inclure les fichiers contenus à l’intérieur, la commande devient :
1 |
zip -r root.zip root/ -x root/.git/**\* root/vendor/**\* |
Aller plus loin
Pour plus d’informations je vous conseille d’aller jeter un œil sur la manpage en français.