व्यसन और पॉल द्वारा पहले जो कहा गया था उसके अलावा :
इतिहास
"पुराने दिनों" में, cpio ( -c
उपयोग किए गए विकल्प के साथ ) का उपयोग करने का उपकरण था , जब यह फ़ाइलों को अन्य UNIX व्युत्पन्न में स्थानांतरित करने के लिए आया क्योंकि यह टार की तुलना में अधिक पोर्टेबल और लचीला था । लेकिन टार पोर्टेबिलिटी को 1980 के दशक के उत्तरार्ध से हल माना जा सकता है।
दुर्भाग्य से यह उस समय के बारे में था जब विभिन्न विक्रेताओं ने cpio के -c
प्रारूप को तैयार किया (बस GNU cpio और विकल्प के लिए मैनुअल पृष्ठ देखें )। उस समय टार cpio की तुलना में अधिक पोर्टेबल हो गया था ... लगभग पूरे एक दशक तक लगे जब तक कि विभिन्न UNIX विक्रेताओं ने इसे हल नहीं किया। GNU टार और GNU cpio स्थापित होने के बाद सभी एडिंस के लिए जरूरी था जो अलग-अलग स्रोतों से टेपों से निपटना था (फिर भी आजकल मैं मानता हूं)।-H
प्रयोक्ता इंटरफ़ेस
टार एक टेप कॉन्फ़िगरेशन फ़ाइल का उपयोग कर सकता है जहां व्यवस्थापक सिस्टम से जुड़े टेप ड्राइव को कॉन्फ़िगर करेगा। उपयोगकर्ता तब सिर्फ "वेल आई विल टेप टेप ड्राइव 1" को कहने के बजाय टेप के लिए सटीक डिवाइस नोड को याद रखने के लिए (जो बहुत भ्रमित हो सकता है और विभिन्न UNIX प्लेटफार्मों में भी नहीं है।
लेकिन मुख्य अंतर यह है:
टार अपने आप निर्देशिकाओं को खोजने में सक्षम है और कमांड लाइन तर्कों से समर्थित होने के लिए फाइलों या निर्देशिकाओं की सूची लेता है।
cpio केवल उन फ़ाइलों या निर्देशिकाओं को संग्रहीत करता है, जिनके बारे में उसे बताया गया है, लेकिन यह उप-प्रकारों को पुन: खोज नहीं करता है। इसके अलावा केन्द्रीय लोक सूचना अधिकारी मदों से संग्रहीत करने की सूची हो जाता है stdin - यही कारण है कि यह लगभग हमेशा के साथ संयोजन में प्रयोग किया जाता है खोजने के ।
टार के साथ तुलना करने पर एक cpio कमांड अक्सर शुरुआत करने वाले को भयावह लगता है :
$ find myfiles -depth -print0 | cpio -ovc0 | gzip -7 > myfiles.cpio.gz
$ tar czvf myfiles.tar.gz myfiles
मुझे लगता है कि मुख्य कारण है कि ज्यादातर लोग टार का उपयोग आर्काइव फाइल बनाने के लिए करते हैं: साधारण कार्यों के लिए जैसे कि एक पूर्ण निर्देशिका को बांधना आसान है।
इसके अलावा GNU टार वह विकल्प प्रदान करता है -z
जो आर्क को मक्खी पर GNU ज़िप के साथ संपीड़ित करने का कारण बनता है , जिससे चीजें और भी आसान हो जाती हैं।
दूसरी ओर एक के साथ निफ्टी बातें कर सकते हैं खोजने और केन्द्रीय लोक सूचना अधिकारी । वास्तव में यह एक अधिक यूनिक्स की तरह दृष्टिकोण है: क्यों निर्देशिका ट्री ट्री खोज को cpio में शामिल करें यदि पहले से ही एक उपकरण है जो लगभग सभी का ख्याल रखता है: के बारे में सोच सकते हैं । दिमाग में आने वाली चीजें केवल एक निश्चित तिथि की तुलना में नई फाइलों का बैकअप ले रही हैं, फाइलों को एक ही फाइल सिस्टम में रहने वालों तक सीमित कर देती हैं या grep -v
कुछ फाइलों को बाहर करने के लिए खोज-आउटपुट को फ़िल्टर कर रही हैं ...
जीएनयू टार के लोगों ने बहुत सारी चीजों को शामिल करने के लिए बहुत सारे काम खर्च किए जो कि पहले केवल cpio के साथ संभव थे । वास्तव में दोनों उपकरण एक-दूसरे से सीखते हैं - लेकिन केवल cpio टार के प्रारूप को पढ़ सकता है - अन्य तरीके से नहीं।
टार और आउटपुट प्रसंस्करण
आपके द्वारा कही गई एक अंतिम सूचना:
मुझे यह भी बताया गया था कि TAR STDOUT से संपीड़ित नहीं हो सकता। मैं बैकअप के लिए ZFS स्नैपशॉट को संग्रहीत / संपीड़ित करना चाहता हूं। मैं सोच रहा था कि क्या मैं इस प्रभाव को प्राप्त करने के लिए CPIO को bzip2 के साथ जोड़ सकता हूं।
खैर, टार के हर संस्करण (GNU या नहीं) का उपयोग पाइप में किया जा सकता है। -
संग्रह के नाम के रूप में केवल एक ऋण चिह्न ( ) का उपयोग करें:
$ tar cvf - myfiles | bzip > myfiles.tar.bz
इसके अलावा GNU टार--to-command
एक पोस्टप्रोसेसर कमांड को निर्दिष्ट करने का विकल्प प्रदान करता है - हालांकि मैं अभी भी पाइप को प्राथमिकता दूंगा। हो सकता है कि कुछ हार्डवेयर उपकरणों पर लिखते समय इसका उपयोग हो।
pax
: पी