सवाल कमांड लाइन का उपयोग करके मैं सभी फ़ाइलों को एक फ़ोल्डर से दूसरे में कैसे स्थानांतरित करूं?


मैं जानना चाहता हूं कि मैं एक फ़ोल्डर से सभी फ़ाइलों को एक कमांड लाइन के साथ दूसरे फ़ोल्डर में कैसे स्थानांतरित कर सकता हूं।

आइए मान लें कि मैं अपने डाउनलोड फ़ोल्डर में हूं और ऐसी सभी फाइलें हैं जिन्हें मैं अपने वीडियो फ़ोल्डर में ले जाना चाहता हूं, बिना सभी फाइलों के नाम लिखने के।


167
2017-08-06 15:14


मूल


आप आगे बढ़ने के बारे में पूछ रहे हैं files लेकिन लोग आपको दिखाते हैं कि न केवल कैसे आगे बढ़ना है files परंतु foldersभी। क्या वह ठीक है? - Askar


जवाब:


टर्मिनल खोलें और इस कमांड को निष्पादित करें:

mv  -v ~/Downloads/* ~/Videos/

यह सभी फ़ाइलों और फ़ोल्डरों को डाउनलोड फ़ोल्डर से वीडियो फ़ोल्डर में ले जायेगा।


सभी फ़ाइलों को स्थानांतरित करने के लिए, लेकिन फ़ोल्डर नहीं: 

यदि आप डाउनलोड फ़ोल्डर से वीडियो फ़ोल्डर में सभी फ़ाइलों (लेकिन फ़ोल्डर नहीं) को स्थानांतरित करने में रुचि रखते हैं, तो इस कमांड का उपयोग करें

find ~/Downloads/ -type f -print0 | xargs -0 mv -t ~/Videos

डाउनलोड फ़ोल्डरों से केवल फ़ाइलों को स्थानांतरित करने के लिए, लेकिन उप-फ़ोल्डर से नहीं:

अगर आप डाउनलोड फ़ोल्डर से सभी फाइलों को स्थानांतरित करना चाहते हैं, लेकिन डाउनलोड फ़ोल्डर में फ़ोल्डर्स के भीतर कोई भी फाइल नहीं है, तो इस कमांड का उपयोग करें:

find ~/Downloads/ -maxdepth 1 -type f -print0 | xargs -0 mv -t ~/Videos

यहाँ, -maxdepth विकल्प निर्दिष्ट करता है कि गहरी खोज कैसे कोशिश करनी चाहिए, 1 मतलब, केवल खोज कमांड में निर्दिष्ट निर्देशिका। आप उपयोग करने का प्रयास कर सकते हैं 2, 3 परीक्षण करने के लिए भी।

उबंटू देखें मैनपेज ढूंढें एक विस्तृत स्पष्टीकरण के लिए


235
2017-08-06 15:18



आप पूरी निर्देशिका को किसी अन्य फ़ोल्डर में स्थानांतरित करने के लिए अकेले एमवी का उपयोग कर सकते हैं: एमवी फ़ोल्डर ~ / दस्तावेज़ - JohnMerlino
एफवाईआई मेरा मानना ​​है कि आपका पहला आदेश ("एमवी-वी ~ / डाउनलोड / * ~ / वीडियो /") डॉट फाइलों को स्थानांतरित नहीं करेगा। - Mark Doliner
हाँ, यह .files नहीं ले जाएगा - Anwar
नायब। तुंहारे -print0 | xargs -0 mv -t ~/Videos के साथ और अधिक कुशलता से किया जा सकता है -exec mv -t ~/Videos \{\} \+ :-) - artfulrobot
हाँ यह सच है। मैं नौसिखिया था जब मैंने सवाल का जवाब दिया - Anwar


mv ~/Downloads/* ~/Videos

यह उस निर्देशिका में सबफ़ोल्डर सहित सभी फ़ाइलों को स्थानांतरित करेगा, जिन्हें आप चाहते हैं mv। यदि आप चाहते हैं cp (प्रतिलिपि) या rm (हटाएं) आपको इसकी आवश्यकता होगी -r (रिकर्सिव) विकल्प सबफोल्डर्स को शामिल करने के लिए।


17
2017-12-08 03:24



मेरे एमवी कमांड में एआर विकल्प नहीं है (उबंटू 14.04)। - Mark Doliner
@ मार्कडोलिनर, हाँ, mv subfolders शामिल करने के लिए रिकर्सिव विकल्प की आवश्यकता नहीं है। कोई भी इसका नाम बदलने के लिए उपयोग कर सकता है। - AliNâ
मुझे जरूरत नहीं थी *। स्टार का उपयोग किए बिना वही बात हुई। - MycrofD
फ़ोल्डर नामों के उपसर्ग में ~ / हमेशा काम नहीं करता है (कम से कम बैश और गिट पर काम नहीं करता है) - Krish Munot
स्रोत समाधान खाली होने पर यह समाधान एक त्रुटि देगा। - Pierre Thibault


इसका उपयोग करके संभव है rsync, उदाहरण के लिए:

rsync -vau --remove-source-files src/ dst/

कहा पे:

-v, --verbose: वर्बोसिटी बढ़ाएं।

-a, --archive: पुरालेख मोड; के बराबर होती है -rlptgoD (नहीं -H, -A, -X)।

-u, --update: रिसीवर पर नई फाइलें छोड़ें।

--remove-source-files        यह फ़ाइलों को भेजना (अर्थात् गैर-निर्देशिका) से निकालने के लिए rsync को बताता है जो स्थानांतरण का हिस्सा हैं और प्राप्त करने वाले पक्ष पर सफलतापूर्वक डुप्लिकेट किए गए हैं।

यदि आपके पास रूट विशेषाधिकार हैं, तो उपसर्ग करें sudo संभावित अनुमति मुद्दों को ओवरराइड करने के लिए।


5
2018-06-06 15:08



चेतावनी! जैसा कि नोट किया गया है - डिलीट-बाद विकल्प आपके द्वारा अपेक्षित तरीके से काम नहीं करता है। यह हटा नहीं है स्रोत सफल प्रतिलिपि के बाद फाइलें ... यह सभी रिमेनिंग / अन्य फाइलों को नष्ट कर देती है। (जैसा कि @kenorb ने नोट किया ... लेकिन मैंने सावधानीपूर्वक पर्याप्त नहीं पढ़ा! डीओएच) - Jay Marm


उपयोग

mv -v ~/rootfolder/branch/* ~/rootfolder

आशा है कि ये आपकी मदद करेगा। क्योंकि मुझे वही दर्द था और मेरी गलती को ठीक करने में बहुत समय बर्बाद हो गया था।


2
2018-01-25 23:06





साधारण मामले के लिए:

mv ~/Downloads/* ~/Videos

यदि आप डॉट फाइलों को भी ले जाना चाहते हैं, तो सेट करें dotglob खोल विकल्प

shopt -s dotglob
mv ~/Downloads/* ~/Videos

यह खोल विकल्प सेट छोड़ देता है।

एक बार dotglob उपयोग के लिए, कमांड में कमांड चलाएं:

(shopt -s dotglob; mv ~/Downloads/* ~/Videos)

2
2018-01-22 10:16





  1. कमांड लाइन पर जाएं और उस निर्देशिका में जाएं जिसे आप इसे ले जाना चाहते हैं cd folderNamehere
  2. प्रकार pwd। यह उस निर्देशिका को मुद्रित करेगा जिसे आप इसे स्थानांतरित करना चाहते हैं।
  3. फिर उस निर्देशिका में बदलें जहां सभी फाइलें हैं cd folderNamehere
  4. अब सभी फाइलों को स्थानांतरित करने के लिए mv *.* typeAnswerFromStep2here

इससे सभी फ़ाइलों को उस निर्देशिका से दूसरे स्थान पर ले जाया जाएगा।


1
2017-09-12 12:07



यह बिना किसी एक्सटेंशन के फाइलों से मेल नहीं खाएगा। उदाहरण के लिए यदि किसी फ़ोल्डर में फाइलें हैं: foo.txt, bar. तथा bar दोनों bar. तथा bar स्थानांतरित नहीं किया जाएगा। का उपयोग करते हुए * के बजाय *.* इसका ख्याल रखता है लेकिन दोनों मामलों में, छिपी हुई फाइलें जैसे: .foobar स्थानांतरित नहीं किया जाएगा। - Dan


एक निर्देशिका को अपने नए नाम पर सामग्री के साथ या बिना स्थानांतरित करने के लिए बस आप इसका उपयोग कैसे करेंगे mv फ़ाइल का नाम बदलने का आदेश:

mv -T dir1 dir2

कहा पे:

  • -T गंतव्य को एक सामान्य फ़ाइल के रूप में मानता है
  • dir1 निर्देशिका का मूल नाम है
  • dir2 निर्देशिका का नया नाम है

ध्यान दें: dir2 अस्तित्व में नहीं है।

मुझे उम्मीद है कि यह किसी को नोब के रूप में बहुत समय बचाता है, इससे पहले, मैं नए नाम के साथ एक निर्देशिका तैयार करता हूं और फिर निर्देशिका की सामग्री को पहले बनाई गई निर्देशिका में ले जाता हूं।

उपनिर्देशिका के लिए प्रयोग करें

यह आदेश तब उपयोगी होता है जब लक्ष्य फ़ाइलों के उपफोल्डर में कई फाइलें सहेजी जाती हैं यानी। Downloads/mp4। इस उदाहरण में, चल रहा है mv -T Downloads/mp4 Videos में परिणाम होगा mp4 subfolder जा रहा है हटा दिया और अंदर निहित सभी फाइलें वीडियो फ़ोल्डर में ले जाया गया है।


0
2017-12-09 07:33



+1 क्योंकि Xubuntu 14.04 में काम करने का परीक्षण किया गया। मैंने यह जवाब दिखाने के लिए एक उदाहरण जोड़ा है कि यह आदेश इस कारण होगा dir1 निकाले जाने के लिए। इस सावधानी के अलावा, इस जवाब ने दैनिक उपयोग के लिए कुछ अच्छा लगा है। - clearkimura
"अपने नए नाम पर सामग्री के साथ या बिना किसी निर्देशिका को स्थानांतरित करने के लिए" आप किसी निर्देशिका में ... निर्देशिका कैसे ले सकते हैं? इसका कोई अर्थ नही बन रहा है। "-टी गंतव्य को एक सामान्य फाइल के रूप में मानता है" गंतव्य एक फ़ाइल कैसे हो सकता है? क्या आपका मतलब निर्देशिका है? - Monica Heddneck
इसकी फाइल को अपने नए नाम पर नाम बदलने जैसा है जैसे आप कुछ ऐसा करेंगे mv fileA fileB लेकिन वो -T इस मामले में ध्वज गंतव्य / निर्देशिका को फ़ाइल के रूप में मानता है और इसका नाम बदलता है। - Feyisayo Sonubi


कोशिश करो

find ~/Desktop -type f -iname  "*.mp4" -exec mv {} ~/Videos \;

-प्रकार तर्क के साथ -प्रकार आप टाइप फ़ाइल निर्दिष्ट कर सकते हैं। इस कथन पर यह मतलब फ़ाइल है। -d का उपयोग करके इसका मतलब निर्देशिका है।

-मेरा नाम: फ़ाइल देखने के लिए सबसे आम और स्पष्ट विधि इसका नाम तर्क का उपयोग कर रही है। अगर आप इसके मामले-संवेदनशीलता के बारे में निश्चित नहीं हैं, तो आप -नाम तर्क का उपयोग कर सकते हैं

एमवी {} और अंततः लक्ष्य निर्देशिका निर्दिष्ट करने के लिए और फिर mv {} तर्क का उपयोग कर फ़ाइलों को स्थानांतरित करने के लिए


0
2018-04-01 16:54