शायद बहुत बड़ी मात्रा में फ़ाइलों को स्थानांतरित करने के लिए एक शुद्ध कमांड लाइन विधि का उपयोग करने पर विचार करें, आपको निस्संदेह पता चलेगा कि यह प्रक्रिया एक गुई का उपयोग करने की तुलना में काफी तेज है।
इसे पूरा करने के कई अलग-अलग तरीके हैं, लेकिन निम्नलिखित ने मेरे सिस्टम पर जल्दी, सुरक्षित और कुशलता से काम किया:
find . -maxdepth 1 -type f -print0 | xargs -0 mv -t <destination>
इस कमांड के लिए कुछ स्पष्टीकरण:
- आपकी इनपुट निर्देशिका 'है।' चरित्र और इस विशेष कमांड के लिए आपको उस निर्देशिका में होना चाहिए
- आपका आउटपुट डायरेक्टरी
<destination>
मेरे उदाहरण में है। अपनी आवश्यकताओं के अनुरूप और ब्रैकेट्स को छोड़ने के लिए इसे स्पष्ट रूप से संशोधित करें।
- यह सिंटैक्स एक बोनस के रूप में रिक्त स्थान के साथ फ़ाइल नाम की अनुमति देता है :)
अंतहीन क्रमपरिवर्तन संभव है लेकिन यह अच्छी तरह से और बहुत अधिक कुशलता से काम करना चाहिए । उदाहरण के लिए एक क्रमपरिवर्तन: यदि आप केवल पीडीएफ फाइलें ही चला सकते हैं जो आप चला सकते हैं:
find . -iname "*.pdf" -maxdepth 1 -type f -print0 | xargs -0 mv -t <destination>
xargs
विशेष रूप से इतनी बड़ी संख्या में फ़ाइलों की आवाजाही के साथ कई संभावनाओं को खोलता है। कई, कई संभावनाएँ…।
संभावित समस्याएं:
इन विचारों के लिए नीचे टिप्पणी करने वालों को धन्यवाद देने के लिए कम से कम 2 संभावित नुकसान हैं:
- आपकी गंतव्य निर्देशिका भ्रष्ट हो सकती है, बाद में अप्राप्य स्थान पर, गलत तरीके से रखी गई आदि
mv
अब भी फ़ाइलों को वहां स्थानांतरित कर देगी! यहां सावधान रहें ...
- यदि
-t
विकल्प ( --target-directory
) गायब है और गंतव्य फ़ोल्डर वास्तव में एक फ़ाइल है, तो आप एक फ़ाइल को स्थानांतरित करेंगे और बाकी पर विफल रहेंगे। mv
2 का उपयोग करता है: गंतव्य के लिए स्रोत का नाम बदलें या स्रोत को निर्देशिका में स्थानांतरित करें । फिर से सावधान ...
cp -R SRC/ DEST/
)