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 को छोड़ देते हैं।