Cara Mengecualikan Fail daripada Arkib Zip
Isi kandungan:
Cara paling mudah untuk mengecualikan banyak fail tertentu atau sekumpulan fail yang dipadankan daripada arkib zip adalah dengan melangkau utiliti zip mudah yang dibina ke dalam UI mesra Mac OS X dan beralih kepada baris arahan, di mana perintah zip yang berkuasa berada. Ini berguna untuk sejuta dan satu sebab, tetapi motivasi utama untuk siaran ini berkaitan dengan fail .DS_Store yang digabungkan bersama dengan arkib zip yang dibuat pada Mac, hanya untuk mengacaukan mesin lain yang menyahzip fail, sama ada pada yang lain Mac, Windows PC atau linux.Itu berlaku dengan kedua-dua alat zip mesra dan utiliti zip baris arahan secara lalai, dan ini kerana tingkah laku lalai alat zip adalah untuk memasukkan fail tersembunyi sama ada ia ditunjukkan atau tidak. Itu tidak semestinya sesuatu yang buruk dan dalam banyak kes ia akan dianggap berguna, tetapi jika anda tidak mahu fail itu atau mana-mana fail lain dalam hal itu, muncul dalam arkib anda, kemudian baca terus.
Cara Mengecualikan Fail daripada Arkib Zip
Asas pengecualian fail semasa membuat arkib zip berpusat di sekitar bendera -x, yang digunakan untuk mengecualikan fail daripada arkib yang sepadan dengan nama atau corak tertentu. Pada asasnya, ia akan kelihatan seperti ini:
"zip arkib.zip fail -x Kecualikan Saya"
Bermaksud anda boleh mengecualikan satu fail, katakan ia dinamakan "Nothanks.jpg"
"zip archive.zip images/ -x Nothanks.jpg"
Mari kita lihat beberapa contoh khusus yang mana ini berguna.
Kecualikan Fail .DS_Store daripada Arkib Zip
Ini akan menghalang metadata Mac yang lazimnya tidak kelihatan .DS_Store fail daripada disertakan dalam arkib zip, yang digabungkan secara lalai:
"zip -r archivename.zip archivedirectory -x .DS_Store"
Jika direktori termasuk subdirektori walau bagaimanapun, anda perlu menggunakan variasi lain bagi perintah itu untuk mengecualikan fail ds_store daripada subdirektori juga:
"zip -r archive.zip direktori -x /\.DS_Store"
Nota: bukan semua cangkerang memerlukan petikan untuk arahan ini berfungsi dengan betul, tetapi dalam cangkerang bash (lalai untuk Mac OS X) anda perlu menggunakan petikan untuk mengecualikan dengan kad bebas dan corak.
Kecualikan Jenis Fail Tertentu daripada Arkib Zip
Dengan kad bebas, anda juga boleh mengecualikan semua fail daripada jenis tertentu dengan memfokus pada sambungan. Sebagai contoh, arahan ini akan mengezip keseluruhan direktori, tolak sebarang fail .jpg:
"zip -r archive.zip directory -x .jpg"
Itu boleh diubah suai untuk mana-mana sambungan fail atau corak tertentu yang dipadankan dalam nama fail.
Kecualikan Direktori .git atau .svn daripada Arkib Zip
"Zip direktori, tolak .git dan kandungannya: zip -r zipdir.zip directorytozip -x .git "
Zip folder, tanpa memasukkan direktori .svn: zip -r zipped.zip direktori -x .svn "
Kecualikan Semua Fail Tersembunyi daripada Arkib Zip
Memandangkan corak dan kad bebas boleh digunakan, anda juga boleh mengecualikan mana-mana atau semua fail dan folder halimunan yang dibuat sedemikian dengan diawali dengan noktah, sama ada direktori seperti .svn atau fail individu seperti .bash_profile atau .htaccess.
zip -r archivename.zip directorytozip -x ."
Atau untuk mengecualikan semua fail tidak kelihatan daripada semua subdirektori:
"zip -r archive.zip direktori -x /\."
Terima kasih kepada pengulas di Forum Macworld untuk sintaks yang tepat tentang mengecualikan fail tersebut daripada subdirektori juga.
Akhirnya, ini hanyalah satu lagi sebab untuk pengguna kuasa melompat ke Terminal untuk membuat arkib. Dengan ciri hebat seperti sokongan kad bebas, pengecualian dan perlindungan kata laluan pilihan zip, ia lebih berciri penuh dan memandangkan semuanya disertakan pada Mac, anda tidak perlu memuat turun apl lain untuk menyokong ciri lanjutan.
Dan ya, secara teknikalnya jika anda bertekad untuk kekal dalam UI anda boleh menggunakan operator carian Finder dan Spotlight untuk mengecilkan kandungan folder dalam Mac OS X sebelum membuat arkib, atau hanya Pilih Semua dan secara manual Perintah+Klik setiap fail untuk tidak memasukkan, tetapi itu benar-benar tidak cekap untuk operasi pengarkiban yang besar.Oleh itu, terminal itu menang dengan mudah, dan walaupun berpusat di sekitar baris arahan, ia benar-benar tidak rumit sebaik sahaja anda mempelajari asasnya.