मेरे ubuntu क्लाउड सर्वर पर लाखों चित्र हैं। जब मैं mv
कमांड का उपयोग करके 12 मिलियन छवियों वाला एक पूर्ण फ़ोल्डर ले जाता हूं , तो यह लगभग तुरंत होता है। हालाँकि, जब मैं mv
केवल छवियाँ (फ़ोल्डर नहीं) तो कुछ समय लगता है। क्या सभी छवियों को फ़ोल्डर्स के रूप में जल्दी से स्थानांतरित करने का एक तरीका है?
यह क्या हो रहा है:
src फ़ोल्डर में 12 मिलियन छवियां हैं और मैं इसे dst फ़ोल्डर का उपयोग करके स्थानांतरित करता हूं
$ mv src ../dst
तुरंत होता है
अंदर src फ़ोल्डर मैं यह करने के लिए कदम:
find -maxdepth 1 -name '*.jpg' -exec mv -t ../../dst/ {} +
इसमें कुछ समय लगता है।
क्या दूसरी प्रक्रिया को गति देने का एक तरीका है?
dst
एक विभाजन में है जबकि ../../dst
दूसरे पर है।
{}
तर्क की कमी है कि फ़ाइल नाम का विस्तार किया जाएगा।
find
। प्रति फ़ाइल एक बार find ... -exec mv -t ../../dst/ {} \;
कॉल करेगा mv
; find ... -exec mv -t ../../dest {} +
बहुत तेजी से हो सकता है, प्रति कॉल जितनी संभव हो उतने फ़ाइलों की प्रतिलिपि बना रहा है, लेकिन अभी भी उतना तेज़ नहीं है जितना कि निर्देशिका को स्थानांतरित करने के रूप में dadexix86 द्वारा समझाया गया है ।