Pertama-tama jika Anda belum menginstal zip menginstalnya terlebih dahulu sebagai berikut:
Dasar-dasar Pengecualian file saat membuat arsip zip berpusat di sekitar -x
bendera, yang digunakan untuk mengecualikan file dari arsip yang cocok dengan nama atau pola tertentu. Pada itu yang paling dasar, akan terlihat seperti ini:
zip archive.zip files -x "ExcludeMe"
Artinya Anda dapat mengecualikan satu file, katakanlah itu bernama " Nothanks.jpg"
zip archive.zip images/ -x "Nothanks.jpg"
Mari kita bahas beberapa contoh spesifik di mana ini berguna.
Kecualikan .File DS_Store dari arsip Zip
Ini akan mencegah metadata Mac yang biasanya tidak terlihat .DS_Store
file dari yang termasuk dalam arsip zip, yang dibundel dalam secara default:
zip -r archivename.zip archivedirectory -x "*.DS_Store"
Namun, jika direktori menyertakan subdirektori, Anda ingin menggunakan variasi lain dari perintah itu untuk mengecualikan file ds_store dari subdirektori juga:
zip -r archive.zip directory -x "*/\.DS_Store"
Catatan: tidak semua shell memerlukan kutipan agar perintah ini berfungsi dengan baik, tetapi di shell bash (default untuk OS X) Anda perlu menggunakan tanda kutip untuk mengecualikan dengan wildcard dan pola.
Kecualikan jenis File tertentu dari arsip Zip
Dengan wildcard, Anda juga dapat mengecualikan semua file dari jenis tertentu dengan berfokus pada ekstensi. Misalnya, perintah ini akan zip seluruh direktori, minus apapun .jpg
berkas:
zip -r archive.zip directory -x "*.jpg"
Itu dapat dimodifikasi untuk ekstensi atau pola file tertentu yang cocok dengan nama file.
Mengecualikan .git atau .direktori svn dari arsip Zip
Zip direktori, minus .git
dan isinya:
zip -r zipdir.zip directorytozip -x "*.git*"
Zip folder, tanpa termasuk .svn
direktori:
zip -r zipped.zip directory -x "*.svn*"
Kecualikan semua file tersembunyi dari arsip Zip
Karena pola dan wildcard dapat digunakan, Anda juga dapat mengecualikan salah satu atau semua file dan folder tak terlihat yang dibuat dengan diawali dengan titik, apakah itu direktori seperti .svn
atau file individual seperti .bash_profile
atau .htaccess
.
zip -r archivename.zip directorytozip -x "*.*"
Atau untuk mengecualikan semua file tak terlihat dari semua subdirektori:
zip -r archive.zip directory -x "*/\.*"