जवाबों:
डॉट ( .
) केवल एक .
निर्देशिका के अंदर की निर्देशिका है जो निर्देशिका के समान ही है ( ls -la /foo
यह आपको दिखाएगा)। इसलिए यदि आप foo/.
कहीं और कॉपी करते हैं, तो आप खुद foo
को कॉपी किए बिना नीचे के सभी पेड़ को प्रभावी ढंग से कॉपी foo
करते हैं (आप इसे कॉपी कर रहे हैं, foo2/.
जो कि जैसा है foo2
)।
/foo/*
गैर छिपा फ़ाइलों और में निर्देशिका की सूची में खोल से विस्तार किया जाता है /foo
, तो यह नीचे एक ही निर्देशिका संरचना की नक़ल की /foo
में /foo2
के रूप में अच्छी तरह से, dotfiles / dotdirs के लिए छोड़कर। प्रभावी रूप से, cp
कई तर्क प्राप्त करेंगे (संभावित रूप से)। यदि सूची बहुत बड़ी है, तो यह cp
फेल होने का कारण भी हो सकता है ।
set -x
या echo cp -pr /foo/* /foo2
देखने के लिए कि क्या हो रहा है। यह महसूस करना महत्वपूर्ण है कि यह शेल है जो वाइल्डकार्ड का विस्तार करता है। cp
स्टार नहीं देखता।
cp -r /foo/*
क्या ऐसा ही हैcp /foo/*
?