जवाबों:
खोजो। -Maxdepth 1 -exec mv {} .. \;
यह छिपी हुई फ़ाइलों को भी स्थानांतरित करेगा।
आपको संदेश मिलेगा:
mv: स्थानांतरित नहीं किया जा सकता है। ' `../। ': डिवाइस या संसाधन व्यस्त
जब यह .(वर्तमान निर्देशिका) ले जाने की कोशिश करता है, लेकिन इससे कोई नुकसान नहीं होगा।
-maxdepth 1यकीन है कि उपयोग करेंगे।
मैं यहाँ आया क्योंकि मैं इस विषय के लिए भी नया हूँ। किसी कारण के लिए ऊपर मेरे लिए चाल नहीं किया। मैंने एक फ़ाइल को dir से उसके पैरेंट dir में स्थानांतरित करने के लिए क्या किया था:
cd to/the/dir
mv * ../
(cd ${ANDROID_NDK_HOME}/android-ndk-r14b/ && mv * ../)
इसे शेल में टाइप करें:
mv *.* ..
यह सभी फाइलों को एक स्तर ऊपर ले जाता है।
चरित्र *एक वाइल्डकार्ड है। तो *.debसभी .deb फ़ाइलों Zeitgeist.*को स्थानांतरित करेगा , और Zeitgeist.avi और Zeitgeist.srt को एक फ़ोल्डर ऊपर ले जाएगा, क्योंकि निश्चित रूप से, ..मूल निर्देशिका को इंगित करता है।
फ़ोल्डर्स, आदि सहित सब कुछ स्थानांतरित करने के लिए, *इसके बजाय बस का उपयोग करें*.*
*नहीं करना चाहते *.*हैं
यह इससे अधिक सरल नहीं हो सकता है:
mv * ../
छिपी हुई फ़ाइलों को स्थानांतरित करने के लिए:
mv /path/subfolder/{.,}* /path/
mvफ़ाइलों को स्थानांतरित करने के लिए एक कमांड है, *सभी फ़ाइलों और फ़ोल्डरों का मतलब है और ../मूल निर्देशिका का पथ है।
बैश में आप उपयोग कर सकते हैं shopt -s dotglob * मैच सभी फाइलों को बनाने के लिए और उनके द्वारा बस को स्थानांतरित
shopt -s dotglob; mv * ..
यह सबसे अच्छा समाधान नहीं है क्योंकि सेटिंग शेल के लिए स्थायी है जब तक आप इसे बदलते नहीं हैं
shopt -u dotglob
लेकिन मुझे लगता है कि यह जानना अच्छा है।
(shopt -s dotglob && mv * ..)। इस तरह, विकल्प केवल उस उपधारा के लिए स्थानीय है।
एक विधि जो हर बार कोई त्रुटि नहीं करती है और काम करती है:
ls -1A . | while read -r file
do
mv "./${file}" ..
done
find . -maxdepth 2 -type f -exec mv {} .. \;
उपर्युक्त से सभी फाइलों को अभिभावक में स्थानांतरित करने के लिए मैंने ऊपर की भिन्नता का उपयोग किया।
मुझे वर्ष तक फ़ोल्डर्स में डेटा मिला, लेकिन मेटाडेटा का उपयोग करके मैंने उन सभी को एक ही फ़ोल्डर में पाया, जिससे इसे प्रबंधित करना आसान हो गया।
जैसे।
/data/2001/file_1
/data/2002/file_2
/data/2003/file_3
लिनक्स में मूल निर्देशिका में सभी फाइलों और फ़ोल्डरों को स्थानांतरित करना सरल है।
उस फ़ोल्डर में जाएं और इस कमांड का उपयोग करें:
mv * /the full path
उदाहरण के लिए, यदि आपकी फ़ाइलें और फ़ोल्डर्स इस प्रकार हैं:
/home/abcuser/test/1.txt
2.txt
3.jpg
4.php
1folder
2folder
सीडी के माध्यम से उस फ़ोल्डर पर जाएं:
cd /home/abcuser/test
mv * /home/abcuser
आपकी सभी फाइलें और फोल्डर abcuser फोल्डर (पैरेंट डायरेक्टरी) में चले जाएंगे।
/the full pathलिनक्स में काम नहीं करता है, तो आपको रिक्त स्थान से बचना होगा /the\ full\ path।
निर्देशिकाओं को बदलने की कोई आवश्यकता नहीं है। पथ के अंत में बस * शामिल करें:
mv /my/folder/child/* /my/folder/
ऊपर केवल गैर छिपी हुई फ़ाइलें चलती हैं। केवल छिपी हुई फ़ाइलों को स्थानांतरित करने के लिए उपयोग करें। *
mv /my/folder/child/.* /my/folder/
दो से ऊपर एक कमांड में जोड़ा जा सकता है:
mv /my/folder/child/{.,}* /my/folder/
यह भी देखें: माता-पिता निर्देशिका में छिपी हुई फ़ाइलों सहित सभी फ़ाइलों को कैसे स्थानांतरित करें *
उप निर्देशिका पर स्विच करें और फ़ाइलों की प्रतिलिपि बनाने या स्थानांतरित करने के लिए निम्न आदेश निष्पादित करें।
ex: a पेरेंट डाइरेक्टरी है और b सब डाइरेक्टरी है, हम बी से ए (सब डाइरेक्टरी डाइरेक्टरी डाइरेक्टरी तक) सभी फाइल्स को मूव / कॉपी करना चाहते है।
cd b
cp * ..
mv * ..