आप UNIX & Linux के उत्तर में इस पर समाधान का एक व्यापक सेट पा सकते हैं कि आप सभी फ़ाइलों (छिपी सहित) को एक निर्देशिका से दूसरी में कैसे स्थानांतरित करते हैं? । यह बाश, zsh, ksh93, मानक (POSIX) श, आदि में समाधान दिखाता है।
आप इन दोनों आदेशों का एक साथ उपयोग कर सकते हैं:
mv /path/subfolder/* /path/ # your current approach
mv /path/subfolder/.* /path/ # this one for hidden files
या सभी एक साथ ( धन्यवाद pfnuesel ):
mv /path/subfolder/{.,}* /path/
जिसका विस्तार है:
mv /path/subfolder/* /path/subfolder/.* /path/
(उदाहरण: echo a{.,}b
विस्तार a.b ab
)
ध्यान दें कि यह चेतावनी के एक जोड़े को दिखाएगा:
mv: cannot move ‘/path/subfolder/.’ to /path/.’: Device or resource busy
mv: cannot remove /path/subfolder/..’: Is a directory
बस उन्हें अनदेखा करें: ऐसा इसलिए होता है क्योंकि /path/subfolder/{.,}*
यह भी विस्तारित होता है /path/subfolder/.
और /path/subfolder/..
, जो निर्देशिका और मूल निर्देशिका हैं (देखें "क्या करते हैं" और ".." का अर्थ है जब एक फ़ोल्डर में? )।
यदि आप कॉपी करना चाहते हैं, तो आप एक मात्र का उपयोग कर सकते हैं:
cp -r /path/subfolder/. /path/
# ^
# note the dot!
यह सभी फाइलों को कॉपी करेगा, जो सामान्य और छिपे हुए दोनों हैं, क्योंकि /path/subfolder/.
"इस निर्देशिका से सब कुछ" का विस्तार होता है (स्रोत: छिपी हुई फ़ाइलों और छिपी निर्देशिकाओं और उनकी सामग्री को शामिल करने के लिए cp के साथ कैसे कॉपी करें? )
cp -r /path/to/source/. /destination