zipकमांड लाइन उपयोगिता एक कभी नहीं बनाता __MACOSXनिर्देशिका है, तो आप सिर्फ इस तरह एक आदेश चला सकते हैं:
zip directory.zip -x \*.DS_Store -r directory
नीचे दिए गए आउटपुट में, a.zipजिसे मैंने zipकमांड लाइन उपयोगिता के साथ बनाया था , जिसमें एक __MACOSXनिर्देशिका नहीं है , लेकिन a 2.zipजो मैंने फाइंडर से बनाया है।
$ touch a
$ xattr -w somekey somevalue a
$ zip a.zip a
adding: a (stored 0%)
$ unzip -l a.zip
Archive: a.zip
Length Date Time Name
-------- ---- ---- ----
0 01-02-16 20:29 a
-------- -------
0 1 file
$ unzip -l a\ 2.zip # I created `a 2.zip` from Finder before this
Archive: a 2.zip
Length Date Time Name
-------- ---- ---- ----
0 01-02-16 20:29 a
0 01-02-16 20:31 __MACOSX/
149 01-02-16 20:29 __MACOSX/._a
-------- -------
149 3 files
-x .DS_Store.DS_Storeनिर्देशिका के अंदर फ़ाइलों को बाहर नहीं करता है, लेकिन -x \*.DS_Storeकरता है।
एकाधिक फ़ाइलों वाली ज़िप संग्रह की शीर्ष स्तर की फ़ाइल आमतौर पर एक एकल निर्देशिका होनी चाहिए, क्योंकि यदि यह नहीं है, तो कुछ अनअर्काइविंग उपयोग (जैसे unzipऔर 7zनहीं, लेकिन आर्काइव उपयोगिता, द अनारकलीवर unar, या dtrx) निर्देशिका के लिए एक युक्त निर्देशिका नहीं बनाते हैं। फ़ाइलें जब संग्रह को निकाला जाता है, जो अक्सर फ़ाइलों को खोजने में मुश्किल बनाता है, और अगर एक ही समय में कई अभिलेखागार निकाले जाते हैं, तो यह बताना मुश्किल हो सकता है कि कौन सी फाइलें किस संग्रह से संबंधित हैं।
पुरालेख उपयोगिता केवल एक __MACOSXनिर्देशिका बनाती है जब आप एक आर्काइव बनाते हैं जहाँ कम से कम एक फ़ाइल में मेटाडेटा जैसे विस्तारित गुण, फ़ाइल फ़्लैग या एक संसाधन टोकन होता है। __MACOSXनिर्देशिका AppleDouble फ़ाइलें जिसका फ़ाइल नाम के साथ शुरू होता है होता है ._कि ओएस एक्स-विशिष्ट मेटाडाटा स्टोर करने के लिए उपयोग किया जाता है। zipकमांड लाइन उपयोगिता छोड देता है मेटाडाटा इस तरह के विस्तारित गुण, फ़ाइल झंडे, और संसाधन कांटे, जो भी मतलब है कि मेटाडाटा जैसे टैग खो दिया है, और कहा कि अन्य नामों काम करना बंद कर, क्योंकि एक उपनाम फ़ाइल में जानकारी एक संसाधन कांटा में संग्रहीत किया जाता है।
आम तौर पर आप बस ओएस एक्स-विशिष्ट मेटाडेटा को छोड़ सकते हैं, लेकिन यह देखने के लिए कि मेटाडेटा फ़ाइलों में क्या है, आप उपयोग कर सकते हैं xattr -l। xattrइसमें संसाधन कांटे और फ़ाइल फ़्लैग भी शामिल हैं, क्योंकि भले ही वे वास्तव में विस्तारित विशेषताओं के रूप में संग्रहीत नहीं हैं, फिर भी उन्हें विस्तारित विशेषताओं इंटरफ़ेस के माध्यम से एक्सेस किया जा सकता है। आर्काइव यूटिलिटी और zipकमांड लाइन यूटिलिटी दोनों ACL को छोड़ देते हैं।