Как да изключите файлове от Zip архив
Съдържание:
Най-лесният начин да изключите много конкретни файлове или група съвпадащи файлове от zip архив е като пропуснете лесната помощна програма за компресиране, вградена в удобния потребителски интерфейс на Mac OS X, и преминете към командния ред, където пребивава мощна команда zip. Това е полезно по милион и една причина, но основната мотивация за тази публикация се отнася до файловете .DS_Store, които се пакетират заедно с zip архиви, създадени на Mac, само за да претрупат друга машина, която разархивира файла, независимо дали е на друга Mac, Windows PC или linux.Това се случва както с приятелския инструмент за компресиране, така и с помощната програма за компресиране на командния ред по подразбиране и това е така, защото поведението на инструментите за компресиране по подразбиране е да включват скрити файлове, независимо дали се показват или не. Това не е непременно лошо и в много случаи би се считало за полезно, но ако не искате те или който и да е друг файл да се показват в архивите ви, прочетете нататък.
Как да изключите файлове от Zip архив
Основните положения на изключването на файлове при създаване на zip архив са съсредоточени около флага -x, който се използва за изключване на файлове от архива, които отговарят на конкретно име или модел. Най-елементарно ще изглежда така:
"zip archive.zip файлове -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 директория -x /\.DS_Store"
Забележка: не всички обвивки изискват кавичките за тази команда, за да работи правилно, но в обвивката bash (по подразбиране за Mac OS X) ще трябва да използвате кавичките за изключване със заместващи символи и шаблони.
Изключване на конкретни типове файлове от Zip архив
С помощта на заместващи знаци можете също да изключите всички файлове от определен тип, като се фокусирате върху разширението. Например, тази команда ще компресира цяла директория, без всички .jpg файлове:
"zip -r archive.zip директория -x .jpg"
Това може да бъде променено за всяко конкретно файлово разширение или модел, съвпадащ в име на файл.
Изключете директорията .git или .svn от Zip архив
"Zip на директория, минус .git и нейното съдържание: zip -r zipdir.zip directorytozip -x .git "
Zip на папка, без да включва .svn директорията: zip -r zipped.zip директория -x .svn "
Изключване на всички скрити файлове от Zip архив
Тъй като могат да се използват шаблони и заместващи символи, можете също да изключите всички или всички невидими файлове и папки, които са направени така, като пред тях се поставя точка, независимо дали е директория като .svn или отделен файл като .bash_profile или .htaccess.
zip -r име на архив.zip директорияtozip -x ."
Или за да изключите всички невидими файлове от всички поддиректории:
"zip -r archive.zip директория -x /\."
Поздравления за коментатор във форумите на Macworld за точния синтаксис за изключване на тези файлове и от поддиректории.
В крайна сметка, това е просто още една причина за опитните потребители да прескочат до терминала за създаване на архиви. С мощни функции като поддръжка на заместващи знаци, изключване и незадължителна защита с парола на zip файлове, той е просто по-пълнофункционален и тъй като така или иначе всичко е включено в Mac, няма да е необходимо да изтегляте друго приложение, за да поддържате разширените функции.
И да, технически, ако сте решени да останете в потребителския интерфейс, можете да използвате операторите за търсене Finder и Spotlight, за да стесните съдържанието на папки в Mac OS X, преди да създадете архив, или просто да изберете всички и ръчно Command+Щракнете върху всеки файл, за да не го включите, но това наистина не е ефективно за големи операции по архивиране.По този начин терминалът печели с лекота и въпреки че е центриран около командния ред, наистина не е сложен, след като научите основите.