লিনাক্সে ডিরেক্টরি সংরক্ষণের ফাইল কীভাবে অনুলিপি করবেন?


88

আমার কাছে Elpipse প্রকল্প এবং ".প্রজেক্ট" ফাইল রয়েছে, ডিরেক্টরি কাঠামোটি ' myProject/.project' এর মতো লাগে । আমি এই '। প্রজেক্ট' ফাইলগুলি অন্য ডিরেক্টরিতে অনুলিপি করতে চাই, তবে আমি চাই এনকোলেসিং ডিরেক্টরিটির নামটি সংরক্ষণ করা হোক।

ধরা যাক আমার ' a/myProject/.project' আছে, আমি ' myProject/.project' থেকে ' b' অনুলিপি করতে চাই , তাই এটি ' b/myProject/.project', তবে ' b/myProject' বিদ্যমান নেই। আমি যখন এটি চেষ্টা করি:

 cp -r ./myProject/.project ../b

এটি 'মাইপ্রজেক্ট' ডিরেক্টরি ছাড়াই কেবল '.প্রজেক্ট' ফাইলটি অনুলিপি করে। দয়া করে উপদেশ দাও.

উত্তর:


153

আপনার যে স্যুইচটি প্রয়োজন তা হ'ল --parents:

jim@prometheus:~$ cp --parents test/1/.moo test2/
jim@prometheus:~$ ls -la test2/
total 42
drwxr-xr-x   3 jim jim    72 2010-09-14 09:32 .
drwxr-xr-x 356 jim jim 43136 2010-09-14 09:32 ..
drwxr-xr-x   3 jim jim    72 2010-09-14 09:32 test
jim@prometheus:~$ ls -la test2/test/1/.moo
-rw-r--r-- 1 jim jim 0 2010-09-14 09:32 test2/test/1/.moo


7

এর tarমতো কিছু ব্যবহার করুন :

mkdir b; tar cpf - myProject/ | tar xpf - -C b/

(পরীক্ষা করা হয়নি first প্রথমে এটি শুকনো রান দিন বা একটি মকআপ দৃশ্যে চেষ্টা করুন))


আশ্চর্যজনকভাবে ভাল কাজ করে! অন ​​ম্যাক: এমকিডির বি; tar -c -f new.tar $ (বিড়াল মাইপি); tar -x -f new.tar -C খ /; #myP হ'ল পাঠ্য ফাইল থেকে ফাইলগুলি অনুলিপি করার জন্য অনুলিপি করা হয়েছে
অ্যালেক্সি

4

mkdir -pপুনরাবৃত্তকারী প্যারেন্ট পাথ তৈরির সাথে গন্তব্য ফোল্ডারটি তৈরি করতে প্রথমে ব্যবহার করুন । তারপরে সামগ্রীগুলি গন্তব্য ফোল্ডারে অনুলিপি করুন:

mkdir -p b/myProject/.project
cp -r a/myProject/.project/file b/myProject/.project

3
cp -P a/myProject/.project b

দেখুন man cpআরও তথ্যের জন্য।


এটি সাহায্য করবে বলে মনে হয় না। এটি কেবল '.প্রজেক্ট' কে খ হিসাবে অনুলিপি করে তবে এটি 'মাইপ্রজেক্ট' অনুলিপি করে না।
dhblah

3

আমি সিপিও ব্যবহারের সাথে সংমিশ্রণ করি। এখানে ব্যাখ্যা

আপনার ব্যবহারের ক্ষেত্রে উদাহরণ:

find /a/myProject/.project/ -type f | cpio -p -dumv /b/.

এই কমান্ডটি সমস্ত ফাইলের মধ্যে /a/myProject/.project/অনুলিপিগুলি এবং অনুলিপিগুলি সন্ধান করে, যখন পাথ সংরক্ষণের মধ্যে কোনও ফাইল অন্তর্ভুক্ত থাকে।


1
.প্রজেক্ট একটি ফাইল, দির না!
ddbug

1

বেশিরভাগ অভ্যন্তরীণ ডিরেক্টরিতে অনুলিপি এড়ানোর জন্য --parentsএটিকে -rঅপশন যুক্ত করা প্রয়োজন

$ cp --parents test/1/.moo test2/
cp: omitting directory ‘test/1/.moo’

সুতরাং যে আদেশটি আমার পক্ষে কাজ করে তা হ'ল

$ cp --parents -r test/1/.moo test2/

0

দয়া করে সচেতন হন যে কোনও বাগ রয়েছে বলে মনে হচ্ছে cp --parents। আমি যখন --parentsবরাবর ব্যবহার করেছি তখন --preserve=allকয়েকটি গন্তব্য ডিরেক্টরিগুলির তারিখ এবং সময় বৈশিষ্ট্য সংরক্ষণ করা হয়নি।

নীচের লিঙ্কটি এটি নিশ্চিত করে যে এটি একটি বাগ: বাগ # 8767: সিপি: --প্রেসিভ = যখন পিতা-মাতার ব্যবহার হয় তখন সমস্ত পিতামাতার পক্ষে কাজ করে না

সুতরাং দেখে মনে হচ্ছে আপনি --parentsযেমন --preserve=allবা এর সাথে ব্যবহার করার সময় সুরক্ষিত বৈশিষ্ট্যগুলির উপর নির্ভর করতে পারবেন না -p


-3

আমি ব্যবহৃত --parentsসঙ্গে cpকমান্ড আমার সাথে perfeclty কাজ করেন। আরও তথ্যের জন্য সর্বদা ম্যানুয়ালটি ব্যবহার করুন। ধন্যবাদ.


3
অন্যান্য 5 টির উত্তরগুলিতে কিছু যুক্ত করে না।
হরিণ হান্টার

উত্তরদাতারা দয়া করে নোট করুন যে Eclipse এ। প্রকল্পটি একটি ফাইল, ডিরেক্টরি নয়। সুতরাং উদাহরণস্বরূপ mkdir -pa / .প্রজেক্টটি কোনও লাভ করে না।
ddbug
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.