cpকমান্ডের শুরুতে সর্বদা ফাইল (গুলি) কমান্ডের শেষে ফাইল বা ডিরেক্টরিতে অনুলিপি করা হবে। স্ল্যাশ আর্গুমেন্টগুলিতে সত্যিই খুব বেশি কিছু করে না, যদি না তত যুক্তি একটি ডিরেক্টরিতে একটি syMLink না হয়। তারপরে স্ল্যাশ থাকার পরে এটি একটি ডিরেক্টরি হিসাবে দেখাবে এবং স্ল্যাশ বাদ দিলে লিঙ্কটি অনুলিপি করা হবে।
আপনি উদাহরণস্বরূপ যে কোনও সাব-ডাইরেক্টরিটি অনুলিপি করতে চান তা ধরে নিচ্ছেন:
cp -r /home/src/somedir /dest
এবং
cp -r /home/src/somedir/* /dest
প্রথমটি ডিরেক্টরিটি পায় /home/src/somedirএবং সেই যুক্তিটি, ডিরেক্টরিটি নিজেই এবং এর সমস্ত বিষয়বস্তু, শেষ আর্গে অনুলিপি করে /dest। এটি প্রয়োজনে somedirডিরেক্টরি তৈরি করবে /destএবং এটি ইতিমধ্যে বিদ্যমান থাকলে এটি ব্যবহার করবে।
দ্বিতীয় যুক্তটি *প্রথম যুক্তির শেষে যুক্ত করে, যা শেলটি প্রতিটি ফাইল হিসাবে প্রসারিত হবে যা শুরু হয় .না /home/src/somedirএবং সেগুলি /destআগে থেকেই আছে তা বিবেচনা না করে সমস্ত ফাইল এবং ডিরেক্টরিগুলি অনুলিপি করবে (কিছু পতাকা ব্যতীত cpএটি তৈরি করবে) একটি বিদ্যমান ফাইলের মতো গন্তব্যস্থলে একই ফাইলগুলি ওভাররাইট করার অনুরোধ জানানো হবে)।
এই উত্তরের মন্তব্যগুলিতে যেমন উল্লেখ করা হয়েছে, *ডিরেক্টরিতে সমস্ত ফাইল দখল করতে সমস্যা আছে । একটি বিকল্প tarআপনার জন্য অনুলিপি করতে ব্যবহার করা হবে
tar -c -C /home/src/somedir . | tar -x -C /dest
somedirএটি -Cপ্রথমে সেই ডিরেক্টরিটিতে স্যুইচ করতে ব্যবহার করে অগ্রণী পথ ছাড়াই একটি টার ফাইল তৈরি করবে । ডিফল্টরূপে tarমুদ্রণ করা হবে stdoutযার পরে আমরা প্রথমে tarকাঙ্ক্ষিত /destডিরেক্টরিতে স্যুইচ করে এটি নিষ্কাশন করতে অন্যটিতে পাইপ করব । এটি ফাইলের অনেকগুলি বৈশিষ্ট্যও সংরক্ষণ করবে, যা cpপাশাপাশি করতে পারে।
cp -r /home/src/somedir /dest/উভয় অবস্থারই সমাধান করা উচিত, হয় বিদ্যমান ফোল্ডারে তৈরি বা মার্জ করে