मक्खी पर आउटपुट को टार / अनटार कैसे करें


27

निम्नलिखित करने के लिए मुहावरेदार तरीका क्या है

  • टार टू स्टडआउट
  • स्टडआउट से इस टार आउटपुट को पढ़ें और किसी अन्य फ़ोल्डर में निकालें।

मेरा समाधान है tar --to-stdout .. | tar -C somefolder -xvf -

लेकिन हो सकता है इसे करने के लिए अधिक मुहावरेदार तरीका हो।

जवाबों:


34

एक ही -f -विकल्प टारिंग के लिए भी काम करता है।

tar -cf - something | tar -C somefolder -xvf -

GNU टार डिफ़ॉल्ट रूप से stdio का उपयोग करता है:

tar -c something | tar -C somefolder -xv

rsync भी लोकप्रिय है।

rsync -av something/ somefolder/

9

बस एक और उपयोग-मामला यहाँ जोड़ रहा है। मेरे पास डिस्क स्पेस से लगभग एक सिस्टम पर एक बड़ी निर्देशिका संरचना थी और बहुत सारे स्थान के साथ किसी अन्य मशीन पर निर्देशिका संरचना की एक tar.gz फ़ाइल के साथ समाप्त करना चाहता था।

tar -czf - big-dir | ssh user@host 'cat > /path/to/big-dir.tar.gz'

यह नेटवर्क ओवरहेड पर सहेजता है और इसका मतलब है कि यदि आप इसके स्थान पर स्थानांतरण के लिए rsync का उपयोग करना चाहते हैं तो आपको दूसरी तरफ टार नहीं करना पड़ेगा।


नेटकट इसके लिए एकदम सही है। (कैट एक होस्ट से दूसरे होस्ट तक)।
हनीस

3
@ हेन्स: प्रमाणीकरण की कमी, अखंडता की जाँच, डेटा एन्क्रिप्शन के साथ-साथ प्रत्येक व्यक्ति के हस्तांतरण के लिए इसे दोनों तरफ से मैन्युअल रूप से शुरू करने के लिए (यानी 2 × काम), यह सही से थोड़ा कम लगता है
विशाल

ज्यादातर समय मैं इसे नेटवर्क पर डंप करने से पहले गज़ब करता हूं। किसी भी पूर्णांक की विफलताएं अपघटन त्रुटियों के रूप में दिखाई देने की संभावना है (हालांकि मुझे इसका उपयोग करने पर कभी भी नहीं मिला)। दो कार्यक्रम शुरू करने के लिए: ऐ, सच।
हेन्नेस

3
यह अधिक काम हो सकता है, लेकिन एक सुरक्षित स्थानीय नेटवर्क या वीपीएन पर मशीनों के बीच समय-संवेदी संचालन के दौरान एक लिंक पर एक बड़ा संपीड़ित संग्रह भेजने के लिए, एनसी के माध्यम से पाइपिंग एसएसएच (1 ​​जीबी नेटवर्क पर) की तुलना में काफी तेज होगा, अक्सर 2 के कारक द्वारा)। अखंडता जाँच के लिए संग्रह के एक md5 योग पर भेजें।
स्पूलर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.