Scp ব্যবহার করে কোনও ডিরেক্টরি থেকে কোনও দূরবর্তী ডিরেক্টরিতে সমস্ত ফাইল অনুলিপি করবেন কীভাবে?


68

আমার লক্ষ্য কপি শুধুমাত্র সমস্ত ফাইল থেকে ~ / local_dir করার user@host.com প্রথমেই / var / www / html / target_dir ব্যবহার scp কমান্ড এবং local_dir বিভাগ local_dir তৈরি করবেন না।

/var/www/html/target_dir/files..

কিন্তু না

/var/www/html/target_dir/local_dir/files.. -আর প্যারামিটার ব্যবহার করার সময়


1
না scp * user@host.com:/var/www/html/target_dirকি আপনি চান না? যদি তা হয় তবে দয়া করে আপনি যা করার চেষ্টা করছেন এবং এ পর্যন্ত চেষ্টা করেছেন তার আরও বিশদ সহ সম্পাদনা করুন
মাইকেল হোমার

সংযোজন /। এখন আর কাজ হয় না। আরও এখানে
সুলাস্তি তামিম

উত্তর:


91

scp এর -r আর্গুমেন্ট রয়েছে। সুতরাং, ব্যবহার করে দেখুন:

$ scp -r ~/local_dir user@host.com:/var/www/html/target_dir

-R আর্গুমেন্টটি সিপিতে -r আরগের মতোই কাজ করে, এটি আপনার পুরো ফোল্ডারটি এবং ভিতরে সমস্ত ফাইল এবং উপ-ডিরেক্টরিগুলি স্থানান্তর করবে।


5
আপনার কমান্ডটি local_dir/ var / www / html / টার্গেট_ডায়ার ডিরেক্টরি তৈরি করেছে আমার লক্ষ্য কেবল ফাইলগুলি অনুলিপি করা।
এডগারাস কার্কা

দুঃখিত, আমি এটি ভুল পেয়েছি। তারপরে কেবল কমান্ডটি পুনরাবৃত্তি করুন, তবে $ scp -r ~/local_dir user@host.com:/var/www/html/এটির মতো: প্রয়োজন হলে নতুন ডিরেক্টরিটির নামকরণ করুন।
প্যারাজিড

8
বা $ scp -r ~/local_dir/* user@host.com:/var/www/html/target_dirযাই হোক না কেন আপনার নৌকা ভাসা।
প্যারাজিড

রিমোটে অনুলিপি করার সময় স্থানীয় থেকে কীভাবে নির্দিষ্ট ডিরেক্টরিগুলি
বর্জন করবেন

13
ওয়াইল্ডকার্ডকে *একটি বিন্দুতে পরিবর্তন করুন .এবং আপনি ডিরেক্টরিটি অনুলিপি না করেই ডিরেক্টরি সামগ্রী (যে কোনও বিন্দু ফাইল সহ) অনুলিপি করবেন। scp -pr ~/local_dir/. user@example.com:/path/to/target_dir
রোয়াইমা

19

আপনার লক্ষ্য থেকে সব ফাইল স্থানান্তর করতে হয়, তাহলে ওয়াইল্ডকার্ড কৌতুক আছে:local_dir*

$ scp ~/local_dir/* user@host.com:/var/www/html/target_dir

-rবিকল্প "যাও recursively" অর্থ, তাই আপনি এটা লিখতে হবে যখন আপনি একটি সম্পূর্ণ ডিরেক্টরি বা একাধিক ডিরেক্টরি স্থানান্তর করতে চেষ্টা করছেন।

থেকে man scp:

-r 
Recursively copy entire directories. Note that scp follows symbolic links encountered in the tree traversal.

সুতরাং আপনার যদি উপ-ডিরেক্টরি ভিতরে থাকে local_dirতবে সর্বশেষ উদাহরণটি কেবল ফাইল স্থানান্তর করবে তবে আপনি যদি -rবিকল্পটি সেট করেন তবে এটি ফাইল এবং ডিরেক্টরি স্থানান্তর করবে।


1+ কারণ সঠিক উত্তর পেতে আপনাকে গ্রহণযোগ্য উত্তরে মন্তব্যগুলি পড়তে হবে, যখন এটি কেবল এটি সরাসরি ব্যাখ্যা করেছে।
আন্দ্রে ক্রিস্টোফার অ্যান্ডারসন

17

সংযোজন /.আপনার সোর্স ডিরেক্টরিতে ডিরেক্টরির নিজেই পরিবর্তে এটির সামগ্রীগুলি হস্তান্তর করবে। ওয়াইল্ডকার্ড সমাধানের বিপরীতে, এতে কোনও লুকানো ফাইলও অন্তর্ভুক্ত থাকবে।

$ scp -r ~/local_dir/. user@host.com:/var/www/html/target_dir

এই সমাধানটির জন্য ক্রেডিট রোইমায় যায়, তবে আমি ভেবেছিলাম এটি কেবল একটি মন্তব্য নয়, একটি সত্যিকার উত্তর হিসাবে পোস্ট করা উচিত।


0

এই পদক্ষেপগুলি অনুসরণ করুন:

  1. ডিরেক্টরিটি local_dirতার সমস্ত উপ- ডিরেক্টরি সহ অনুলিপি করুন :

    scp -r ~/local_dir user@host.com /var/www/html/target_dir
    
  2. কেবলমাত্র local_dirডিরেক্টরিগুলির বিষয়বস্তু অনুলিপি করুন local_dir:

    scp -r ~/local_dir/* user@host.com /var/www/html/target_dir
    
  3. ব্যবহার করবেন না: scp -r ~/local_dir/. user@host.com /var/www/html/target_dirএটি যেমন একটি ত্রুটি ছুঁড়ে ফেলেছে (কেবলমাত্র পরীক্ষিত এবং নিম্নলিখিত ত্রুটিটি পেয়েছে):

    scp: error: unexpected filename: .
    
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.