मैं संपीड़न के बिना समूह फ़ाइलों में टार कमांड का उपयोग कैसे कर सकता हूं?


60

मेरे पास 120,000+ फ़ाइलों का एक बहुत बड़ा फ़ोल्डर है। और मुझे उन्हें उसी मशीन (उसी पार्टीशन) पर दूसरे स्थान पर ले जाने की आवश्यकता है।

मैं tarउन्हें एक इकाई के रूप में समूह बनाने के लिए कमांड का उपयोग करना चाहता हूं और फिर mvउन्हें अंतिम स्थान पर ले जाना चाहता हूं।

मुझे tarउन सभी को एक साथ चलाने की क्या आवश्यकता है और कुछ भी संपीड़ित नहीं करना चाहिए (मुझे सबसे तेज़ परिणाम चाहिए)।


1
क्यों टार का उपयोग करें, और न केवल एमवी (1) फाइलें? या यदि आप मूल नहीं खोना चाहते हैं तो cp (1) का उपयोग करें?
वॉनब्रांड ११'१३ को १on

@vonbrand एक नेटवर्क पर एक निरंतर फ़ाइल rsync करना चाह सकता है। बहुत तेजी से 120k छोटी फ़ाइलों को rsyncing की तुलना में। यह लगातार पूर्ण गति से उच्च और चढ़ाव के बीच का अंतर है
mwm

जवाबों:


85

tar डिफ़ॉल्ट रूप से संपीड़ित नहीं होता है, बस एक संपीड़न विकल्प नहीं जोड़ें:

tar cvf myfolder.tar myfolder

मैं अपने जवाब में हेन्नेस की टिप्पणी को शामिल कर रहा हूं क्योंकि यह उपयोगी जानकारी जोड़ता है:

TAR (टेप संग्रह) मूल रूप से एक यूनिक्स प्रोग्राम है जिसका उपयोग टेप पर अभिलेखागार बनाने के लिए किया जाता है। चूंकि सभी उपकरणों को यूनिक्स के तहत फाइलों के रूप में माना जाता है, इसलिए टेप को लिखना आसान नहीं है, बल्कि इसके बजाय एक फ़ाइल के लिए। यह आमतौर पर -f ध्वज के साथ किया जाता है। कमांड टार cvf myfolder.tar myfolder का अर्थ है टार, c reate, v erbose f ile filename_to_create what_to_tar। इसमें कहीं भी कोई कंपटीशन नहीं है। टार अभिलेखागार (फ़ाइलों के रूप में) जहां अक्सर संपीड़ित कार्यक्रम का उपयोग करके संपीड़ित किया जाता है और निष्कर्षण प्राप्त किया है ।Z (जैसे file.tar.Z)। बाद में इस पर z ध्वज के साथ gtar में शामिल हो गया


क्या यह पुनरावर्ती टार में सभी सबफ़ोल्डर और फ़ाइलों को जोड़ देगा?
सर्गसेर

2
@ शेर हाँ, यह होगा।
टेराडॉन

1
धन्यवाद। मैं आमतौर पर छोटे और लंबे दोनों रूप में जवाब देने की कोशिश करता हूं। के रूप में "हाँ / नहीं, यह काम नहीं करेगा" लघु एक के लिए, और एक स्पष्टीकरण के रूप में क्यों लंबे समय तक जवाब के रूप में। पृष्ठभूमि के होने के कारण अक्सर भविष्य में मदद करता है।
हेन्नेस

@ वैसे भी हमेशा ऐसा नहीं होता है कि कोई मैनुअल या निर्देश इतना अच्छा होता है कि वे चीजों को स्पष्ट कर देते हैं बस उन्हें सीधे पढ़ते हैं, कभी-कभी सबसे अच्छा तरीका आगे बढ़ना है और वैसे भी कमांड की कोशिश करना है, फिर आप देखेंगे कि यह क्या करता है, और एक बार जब आप जानते हैं कि यह क्या करता है या एक अच्छा विचार है, तो मैनुअल आपके लिए पुष्टि कर सकता है! फ़ाइलों का एक छोटा सा उदाहरण सेट पर टार का परीक्षण करना आसान है। मैनुअल का सिर या पूंछ बनाने के बिना, इसका उपयोग करने के उदाहरणों के साथ।
बार्लोप

ध्यान दें कि यदि सबसे तेज़ परिणाम वांछित हैं, तो आपको मौन आउटपुट में "v" ध्वज को छोड़ देना चाहिए। मेरे मामले में यह एक एडब्ल्यूएस t2.medium उदाहरण पर चलने पर कमांड समय 16 सेकंड से 6 सेकंड तक कम कर देता है।
डेविड बैकियस

6

@Terdon का उत्तर सही है।

लेकिन मैंने एक छोटी सी गलती कर दी tar cvf myfolder.tar.gz myfolder। मैं एक ही रास्ते में फ़ाइलों के लिए समान समाप्ति नाम चाहता था tar.gz, जब भी यह संपीड़ित न हो।

इसलिए, यदि आप कुछ ऐसा .gz, .zनाम डालते हैं जिस फ़ाइलनाम के अंत में आप टार्ग करने की कोशिश कर रहे हैं, तो टार ऐप समझ जाएगा कि आप कुछ कम्प्रेशन का उपयोग करना चाहते हैं, और यह आपके अनुसार लागू होगा (gz = gzip)।

इसलिए यदि आप उस तरह के एक्सटेंशन का उपयोग करना चाहते हैं tar.gz, तो ध्वज का उपयोग करना सुनिश्चित करें--no-auto-compress

--no-auto-compress    do not use archive suffix to determine the compression 
program
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.