लंबी कहानी छोटी: टार GNU टूल जिप / अनज़िप के माध्यम से पाइप नहीं करता है क्योंकि कोई भी परवाह नहीं करता है।
लंबी कहानी, मूल आकार:
tar
शुरुआत में फाइलों को अनकम्प्रेस्ड और कंप्रेस करने का मतलब नहीं था, लेकिन एक बड़ी फाइल में कई फाइलों को संग्रहीत करना। चूंकि लोग न केवल अपनी फ़ाइलों को संग्रहीत करना चाहते थे, बल्कि उन्हें संपीड़ित भी करते हैं, इसलिए वे बस tar
किसी भी कंप्रेसर के माध्यम से आउटपुट को पाइप करते हैं जो डेटा स्ट्रीम इनपुट को स्वीकार करता है और परिणामों को एक फ़ाइल पर छोड़ देता है। फायदा!
अब, इस तरह के कार्य को संभव के रूप में दर्द रहित बनाने के लिए, tar
आंतरिक रूप से संपीड़न उपकरणों के लिए उत्पन्न फ़ाइलों को पाइप करने का फैसला किया, जैसे कि गज़िप, लज़मा, आदि, जो चलने पर प्रत्येक प्रारूप के लिए विशेष झंडे द्वारा सक्रिय थे tar
। इसीलिए जब आप किसी दूषित फ़ाइल को निकालने का प्रयास करते हैं, तो आपको tar
अंतर्निहित टूल त्रुटि दिखाई जाती है, बजाय इसके कि tar
:
$ tar zxf damaged.tar.gz
gzip: damaged.tar.gz: unexpected end of file
तो, ऐसा नहीं है कि tar
ज़िप फ़ाइलों को अनकैप्ड न करें, बस इसके tar
पास सही उपकरण के माध्यम से इसे पाइप करने की क्षमता नहीं है, क्योंकि कोई भी वास्तव में इसे लागू करने के लिए परेशान नहीं है, और ज़िप पहले ही टार फ़ाइल के फ़ाइल संग्रह फ़ंक्शन को पूरा करता है। प्रारूप का समर्थन करने के लिए टार के लिए कम कारण है।
अब, सभी में एक-एक उपकरण हैं जो आपके द्वारा उन पर फेंकने वाले सभी चीजों को संपीड़ित / अनसुना करते हैं, फिर से, आपको वास्तव में इसका समर्थन करने के लिए सही उपकरण होना चाहिए। यदि आपके पास नहीं है, तो उपकरण विफल हो जाएगा।
bsdtar
निकाल सकते हैं.zip
: P