Как исключить файлы из ZIP-архива

Как исключить файлы из Zip файла

Самый простой способ исключить многие определенные файлы или группу совпадающих файлов из zip-архива — это пропустить простую утилиту архивирования, встроенную в дружественный интерфейс Mac OS X, и перейти к командной строке, где находится мощная команда zip.

Это полезно по миллиону и одному причинам, но основная мотивация для этого поста относится к файлам .DS_Store, которые объединяются вместе с zip-архивами, созданными на Mac, только для того, чтобы загромождать другую машину, которая распаковывает файл, будь то на другом Mac, ПК с Windows или Linux. Это происходит по умолчанию как с дружественным инструментом zip, так и с утилитой командной строки zip, и это потому, что по умолчанию инструменты сжатия включают скрытые файлы, отображаются они или нет. Это не обязательно плохо, и во многих случаях это будет сочтено полезным, но если вы не хотите, чтобы они или какой-либо другой файл в этом отношении отображался в ваших архивах, то читайте дальше.

Как исключить файлы из ZIP-архива

Основы исключения файлов при создании zip-архива сосредоточены вокруг флага -x, который используется для исключения файлов из архива, соответствующих определенному имени или шаблону. В основном это будет выглядеть так:

Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)

zip archive.zip files -x "ExcludeMe"

Это означает, что вы можете исключить один файл, скажем, он называется Nothanks.jpg.

zip archive.zip images/ -x "Nothanks.jpg"

Давайте рассмотрим несколько конкретных примеров, когда это полезно.

Исключить файлы .DS_Store из ZIP-архивов

Это предотвратит включение обычно невидимых файлов .DS_Store метаданных Mac в zip-архив, которые по умолчанию объединены:

zip -r archivename.zip archivedirectory -x "*.DS_Store"

Однако если в каталоге есть подкаталоги, вы захотите использовать другой вариант этой команды, чтобы также исключить файлы ds_store из подкаталогов:

zip -r archive.zip directory -x "*/.DS_Store"

Примечание: не всем оболочкам требуются кавычки для правильной работы этой команды, но в оболочке bash (по умолчанию для Mac OS X) вам нужно будет использовать кавычки для исключения с помощью подстановочных знаков и шаблонов.

Исключение определенных типов файлов из Zip-архива

С помощью подстановочных знаков вы также можете исключить все файлы определенного типа, сосредоточив внимание на расширении. Например, эта команда заархивирует весь каталог без файлов .jpg:

zip -r archive.zip directory -x "*.jpg"

Это может быть изменено для любого конкретного расширения файла или шаблона, соответствующего имени файла.

Исключить каталог .git или .svn из Zip-архива

Заархивируйте каталог без .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 "*/.*"

Приветствую комментатора на Форумы Macworld для точного синтаксиса исключения этих файлов из подкаталогов.

Значок ZIP-архива

В конце концов, это еще одна причина для опытных пользователей перейти в Терминал для создания архивов. Благодаря мощным функциям, таким как поддержка подстановочных знаков, исключение и дополнительная защита паролем zip-файлов, он просто более полнофункциональный, и, поскольку все это включено в Mac, вам не нужно загружать другое приложение для поддержки расширенных функций.

И да, технически, если вы были настроены оставаться в пользовательском интерфейсе, вы могли бы использовать операторы поиска Finder и Spotlight, чтобы сузить содержимое папок в Mac OS X перед созданием архива, или просто выберите все и вручную Command + щелкните каждый файл, чтобы не включать , но это действительно неэффективно для больших операций архивирования. Таким образом, терминал выигрывает по простоте, и, несмотря на то, что он сосредоточен вокруг командной строки, это действительно несложно, если вы изучите основы.

Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован.