zipアーカイブを作成するときのファイル除外の基本は-x
、特定の名前またはパターンに一致するファイルをアーカイブから除外するために使用されるフラグを中心にしています。最も基本的なものは次のようになります。
zip archive.zip files -x "ExcludeMe"
つまり、「Nothanks.jpg」という名前の単一のファイルを除外できます
zip archive.zip images/ -x "Nothanks.jpg"
これが役立ついくつかの具体例を紹介しましょう。
Zipアーカイブから.DS_Storeファイルを除外する
これにより、通常は表示されないMacメタデータ.DS_Store
ファイルが、デフォルトでバンドルされているzipアーカイブに含まれなくなります。
zip -r archivename.zip archivedirectory -x "*.DS_Store"
ただし、ディレクトリにサブディレクトリが含まれる場合は、そのコマンドの別のバリエーションを使用して、サブディレクトリからds_storeファイルも除外する必要があります。
zip -r archive.zip directory -x "*/\.DS_Store"
注:すべてのシェルでこのコマンドを正しく引用符で囲む必要はありませんが、bashシェル(OS Xのデフォルト)では、引用符を使用してワイルドカードとパターンを除外する必要があります。
Zipアーカイブから特定のファイルタイプを除外する
ワイルドカードを使用すると、拡張子に注目して特定のタイプのすべてのファイルを除外することもできます。たとえば、次のコマンドはディレクトリ全体を圧縮し、.jpg
ファイルを削除します。
zip -r archive.zip directory -x "*.jpg"
ファイル名に一致する特定のファイル拡張子またはパターンに合わせて変更できます。
Zipアーカイブから.gitまたは.svnディレクトリを除外する
ディレクトリを圧縮.git
し、マイナスとその内容:
zip -r zipdir.zip directorytozip -x "*.git*"
.svn
ディレクトリを含めずにフォルダーを圧縮します。
zip -r zipped.zip directory -x "*.svn*"
Zipアーカイブからすべての隠しファイルを除外する
パターンとワイルドカードを使用することができますので、あなたも、それはのようなディレクトリのかどうか、ピリオドで始まるされて作られていますので、いずれか、またはすべての不可視ファイルやフォルダを除外することができ.svn
など、個々のファイル.bash_profile
または.htaccess
。
zip -r archivename.zip directorytozip -x "*.*"
または、すべての非表示ファイルをすべてのサブディレクトリから除外するには:
zip -r archive.zip directory -x "*/\.*"
find community-chess/ -path '*/.*' -prune -o -type f -print | zip ~/community-chess.zip -@
)は予想よりも長いですが、正常に機能します。サブディレクトリも含まれているので、+ 1と受け入れられた回答: