私は、サブディレクトリとファイルを除くディレクトリを圧縮する必要があります。私はこれを使用しました:
Zip -r zipfile.Zip . -x ".*" -x "app/bower_components" -x "node_modules" -x "*.Zip" -x "node_modules"
成功なし; node_modules
は主要なフォルダーであり、bower_components
はフォルダーアプリ内にあります
私は単にあなたが望むものを推測します。
-x ".*"
ドットで始まるすべてのファイルを除外します
次のようにします:
-x .\*
すべてのファイルを除外する(ファイル名にドットを含む)
次のようにします:
-x \*.\*
-
-x "app/bower_components" -x "node_modules"
このディレクトリとその中のすべてのファイルを除外します
次のようにします:
-x app/bower_components/\* -x node_modules/\*
-
-x "*.Zip"
すべてのZipファイルを除外
次のようにします:
-x \*.Zip
Node_modulesを2回除外します
このような何かがトリックを行う必要があります:
Zip -r zipped.Zip dir1/ -x */\.* *.git* \.* *.Zip *.csv *.json *.rb *.bak *.swp *.back *.merge *.txt *.sh dir1/node_modules/**\* dir1/bower_components/**\* dir1/dist/**.*
ここで、-x
は、除外するディレクトリとファイル(拡張子)タイプのリストです。
ディレクトリがgitリポジトリであると仮定すると(そして、質問から判断すると、そうである可能性が高い)、.gitignore
ファイルに除外するディレクトリを追加し、git archive
コマンドを使用して、あなたのディレクトリ:
git archive --format=Zip HEAD -o zipfile.Zip
あなたの例では、.gitignore
ファイルは次のようになります。
node_modules
app/bower_components
これは、Ubuntu 16.04で完璧に機能します。
Sudo Zip -r /home/user/backup/$(date +"%Y-%m-%d")/home_user.Zip /home/user -x "*backup*" -x "*.cache*" -x "*test*"
すべてのプロジェクトで、次のようにnode_modulesをスキップします。
for i in */; do Zip -r "${i%/}.Zip" "$i" -x "*/\node_modules/*" ; done