बिना किसी कंप्रेशन के एक बड़े फोल्डर को कैसे स्टोर किया जाए


11

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


1
वहाँ tarलिनक्स में आदेश। tar -cf long.file.tar folder
कोस्टास

5
FYI करें: तेजी से संपीड़न कार्यक्रम हैं, कुछ जो आपकी डिस्क लिखने की गति से तेज होंगे, और कई जो आपके नेटवर्क से तेज होंगे। यदि डेटा कंप्रेसिबल है, तो उनमें से किसी एक का उपयोग करना वास्तव में चीजों को गति देगा। जैसे, lzopगति के लिए बनाया गया है।
derobert

जवाबों:


20

उपयोग करें tar: tar -cf my_big_folder.tar /my/big/folder

के साथ संग्रह को पुनर्स्थापित करें tar -xf my_big_folder.tar -C /

-C आपके संग्रह को पुनर्स्थापित करने के लिए मूल निर्देशिका में बदल जाएगा क्योंकि ऊपर बनाए गए संग्रह में निरपेक्ष पथ हैं।

संपादित करें : संग्रह के अपेक्षाकृत बड़े आकार के कारण, SSH या क्लाउड संसाधन / फ़ोल्डर के माउंट बिंदु का उपयोग करके इसे [सीधे] अपने अंतिम स्थान पर भेजना सबसे अच्छा होगा। उदाहरण के लिए, कोल जॉनसन सुझाव देते हैं :

tar -cf /network/mount/point/my_big_folder.tar /my/big/folder

या

tar -c /my/big/folder | ssh example.com "cat > my_big_folder.tar"

संपादित करें : जैसा कि ब्लैकलाइट शाइनिंग भी बताती है , यदि आप पूर्ण पथ से बचना चाहते हैं, तो आप बड़े फ़ोल्डर के माता-पिता tarसे बदल सकते हैं :

tar -cf /network/mount/point/my_big_folder.tar \
    -C /my/big/folder/location the_big_folder

या

tar -cC /my/big/folder/location the_big_folder | \
ssh example.com "cat > my_big_folder.tar"

व्यक्तिगत सजगता

रिश्तेदार या पूर्ण पथ शामिल करना व्यक्तिगत प्राथमिकता का विषय है।

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

अंत में - यहाँ पंडिताऊ जा रहा - tarसंग्रह सदस्य हैं हमेशा के बाद से रिश्तेदार क) वे किसी भी निर्देशिका में बहाल किया जा सकता है और ख) tar प्रमुख को हटा /जब एक संग्रह बनाने। मैं व्यक्तिगत रूप से हमेशा एक संग्रह unpacking जब -C का उपयोग करते हैं ।


संपादन को स्पष्ट करने के लिए: tar -cf /network/mount/point/folder.tar /folderस्थानीय कंप्यूटर को टारगेट करने के बजाय करें और फिर अपलोड करें यदि आप कर सकते हैं
कोल जॉनसन

सटीक। जितना अधिक मैं अपना संपादन पढ़ता हूं, उतना ही मुझे लगता है कि यह उलझन में है। आपकी अंतर्दृष्टि के लिए धन्यवाद।

1
यह पूर्ण पथ के साथ संग्रह बनाने से बचने के तरीके को ध्यान देने योग्य है tar -cf $archive.tar -C $source_dir .:। यदि गंतव्य मशीन में स्रोत निर्देशिका के समान पथ के साथ निर्देशिका नहीं है, तो आपको ऐसा करने की आवश्यकता होगी-Cजब आप निकालें ( mkdir $destination_dir && tar -xf $archive.tar -C $destination_dir) एक नई निर्देशिका में सुनिश्चित करें ; और जो कुछ भी निर्देशिका में होना है, उसे संग्रह सामग्री में डंप कर दिया जाएगा।
ब्लैकलाइट शाइनिंग

2

वैकल्पिक: cpio

(cd /my/big/folder && find . -depth -print0 | cpio -0o > myfolder.cpio)

वर्तमान निर्देशिका में अनपैक करना:

cpio -id < myfolder.cpio

चेतावनियां:

  • यदि find /my/big/folderइसके बजाय उपयोग करते हैं cd, तो संग्रह में पूर्ण पथ होंगे और निष्कर्षण उनका अनुसरण करने का प्रयास करेगा;
  • बड़ी फाइलें (> 2 जीबी) एक समस्या हो सकती हैं;

केन्द्रीय लोक सूचना अधिकारी,, टार तुलना में बहुत धीमी हो जाता है, हालांकि यदि 512 (के डिफ़ॉल्ट ब्लॉकसाइज के साथ प्रयोग किया fixunix.com/sco/89900-cpio-performance-vs-tar-bit-mystery.html )
PSkocik
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.