जवाबों:
'Myfolder' नाम के फोल्डर के साथ और फाइल पदानुक्रम में एक स्तर ऊपर (वह बिंदु जिसे आप इसे रखना चाहते हैं) कमांड होगा:
mv myfolder/* .
उदाहरण के लिए डेटा में किया गया था, तो /home/myuser/myfolderसे तो /home/myuser/कमांड चलाएँ।
.*। मूल फ़ोल्डर को हटाना दोनों तुच्छ है और ऐसा नहीं पूछा जाता है ताकि हम ओपी को उसके / उसके साथ सौदा करने दें।
*और .*एक लाइन में? बस जिज्ञासा
mvLAST तर्क को छोड़कर सभी के लिए तर्क स्रोत होंगे, जिन्हें आगे बढ़ने के लिए लक्ष्य होना चाहिए (और कई स्रोतों के मामले में, एक फ़ोल्डर होने की आवश्यकता है)।
/bin/mv: Argument list too long
बस इसे स्पष्ट करने के लिए, ऊपर दिए गए Rudu के उत्तर और टिप्पणियों से लिया गया।
यदि आपको सभी सामग्रियों को स्थानांतरित करने की आवश्यकता है, तो एक के साथ शुरू होने वाली फ़ाइलों को शामिल करना। (जैसे .htaccess, .git, आदि), आपको अपने कमांड में * और * दोनों को शामिल करने की आवश्यकता है। इस तरह:
mv subfolder/* subfolder/.* .
वह सबफ़ोल्डर की सामग्री को आपके वर्तमान फ़ोल्डर में ले जाएगा। अंतिम "" से पहले स्थान पर ध्यान दें।
mv: rename fake/. to ./.: Invalid argumentऔरmv: rename fake/.. to ./..: Invalid argument
यह निम्नलिखित विधियों से संभव है:
का उपयोग कर rsync:
rsync -vua --delete-after foo/ .उपयोग करना cpऔर rmdir:
cp -vaR foo/. . && rmdir foo/उपयोग करना mv( dotglobसक्षम विकल्प के साथ ):
shopt -s dotglob # Includes filenames beginning with a dot.
mv -- foo/* . # Where foo/ is the folder consisting the files.
shopt -u dotglob # Disables previously enabled dotglob option.
foo/आपका फ़ोल्डर कहां है जिसकी सामग्री को एक स्तर ऊपर ले जाना है।
देखें: help shoptऔर man bash।
का उपयोग कर mv(जैसा कि यहाँ सुझाव दिया गया है ):
mv foo/* foo/.[^.]* . && rmdir foo/
नोट: यह नामक एक फ़ाइल याद आती है foo/..bar..।
नोट: POSIX गोले के लिए, आपको चाहिए [!.]।
-v, -u, -aऔर -rकर? AFAICT, -vवर्बोज़ है, जो बस rsync प्रिंट को अधिक जानकारी देता है। -uअद्यतन का मतलब है - केवल एक फाइल कॉपी करें यदि यह नया है। यह प्रासंगिक नहीं लगता है। -aसंग्रह का मतलब है। जो फ़ाइल के स्वामी और अनुमतियों को कॉपी करेगा, और सिंक को पुनरावर्ती बना देगा। -rपुनरावर्ती का मतलब है, लेकिन यह पहले से ही कवर किया गया है -a।
-uजब आप पहले से ही (विशेष रूप से धीमे भंडारण उपकरणों के लिए) चल रहे डेटा का अतिरिक्त समय खर्च नहीं करना चाहते हैं तो उपयोगी है। जैसा कि आपने उल्लेख किया है -r, मैंने इसे हटा दिया है -a।
mv foo/* foo/.[^.]* .foo/..bar..मिसाल के तौर पर बुलाए जाने वाली एक फाइल को मिस करेगा । ध्यान दें कि POSIX गोले के लिए, आपको चाहिए [!.]।
rsync -vua --delete-after foo/ .वर्तमान निर्देशिका में पहले से मौजूद हर चीज को हटा सकता है।
सिर्फ एक mv कमांड जारी करें
mv (directory)/* .
यदि आप निर्देशिका हटाना चाहते हैं तो जोड़ें
rm -rf (directory)
मान लिया गया कि आप (निर्देशिका) की मूल निर्देशिका में हैं
यदि आप (डायरेक्टरी) अंदर हैं तो
mv * ../
rmdirशिकायत करता है और बाहर निकलता है यदि निर्देशिका खाली नहीं है, rm -rतो इसके बजाय उसने इसे और इसकी सभी सामग्रियों को हटा दिया है। (यह एक पोक-योक है ।)
.DS_store। mvऊपर का आदेश उन (बिना dotglobसेट) को स्थानांतरित नहीं करेगा ।
एक साझा सर्वर पर आप में से कुछ के लिए आपको इस तरह से कुछ का उपयोग करना होगा
फ़ाइलों को स्थानांतरित करने के लिए
mv -v ~/public_html/public_html/* ~/public_html/
फाइलों को कॉपी करने के लिए
cp -a ~/public_html/public_html/* ~/public_html/
.*नहीं करना होगा*। इसके अलावा अंतिम विलोपन फ़ोल्डर को हटाने के लिए `o & rmdir myfolder` को अंत o में जोड़ें। यह सहेज रहा है क्योंकि यह केवल तभी चलेगा जब mv सफलता देता है और क्योंकि rmdir एक गैर-रिक्त निर्देशिका को नहीं निकालेगा।