একটি সার্ভার থেকে scp ব্যবহার করে একটি ফাইল কীভাবে টানবেন?


31

আমি মেশিন এ তে আছি এবং মেশিন বি থেকে একটি ফাইল টানতে চাই

A$ scp <myuserid>@hostB:<path of file in B> .

এটি বলে যে:

scp: <path of file in B>: No such file or directory

তবে মেশিন বিতে এই ফাইলটি এই পথে রয়েছে।

কি ভুল হচ্ছে?


আপনি যে কমান্ডটি চালালেন এটি কি সঠিক বিন্যাস? বা ':' এর পরে কোনও ফাইলের নাম ছিল?
dtyler

উত্তর:


43

আপনি কোনও ফাইল নির্দিষ্ট করেন নি: কোলনের পরে আপনার ফাইলটি (পথ সহ) যুক্ত করতে হবে:

A$ scp <myuserid>@hostB:/absolutepath/file .

অথবা

A$ scp <myuserid>@hostB:relativepath/file .

আপনার হোম ডিরেক্টরি সম্পর্কিত একটি পাথ জন্য।

আপনি যদি অন্য কোনও ব্যবহারকারী নির্দিষ্ট না করেন (যেমন, এ এবং বি এর ব্যবহারকারী একই) তবে আপনার প্রয়োজন নেই @

A$ scp hostB:/path/file .

2
আমি প্রশ্নের মধ্যে ফর্ম্যাটিংটি স্থির করেছি, তবে সম্ভবত আপনার উত্তরটি এখনও বৈধ। সমস্যাটি পরম এবং আপেক্ষিক (বাড়িতে) পাথের মধ্যে বিভ্রান্তি থেকে আসতে পারে।
স্টাফেন গিমেনেজ

@ স্টাফেনি গিমেনেজ এখন যে আমি বুঝতে পেরেছি সম্পাদিত উত্তরটি দেখতে পাচ্ছি। এটি একটি অদ্ভুত প্রশ্ন বলে মনে হয়েছিল :-)
মাত্তিও

4
$ scp username@remoteip:remote_location_file /location/where/you/save

আপনি কেবল ফাইল অনুলিপি করলেই এটি কাজ করে। আপনি যদি একটি ডিরেক্টরি ব্যবহারের কপি করতে চান

$ scp -r username@remoteip:remote_location_directory /location/where/you/save

বিকল্পটি আপনি নিজের চাহিদা অনুসারে ব্যবহার করতে পারেন

-পি পোর্ট
দূরবর্তী হোস্টের সাথে সংযোগ স্থাপনের জন্য পোর্টটি নির্দিষ্ট করে। নোট করুন যে এই বিকল্পটি মূলধন "পি" দিয়ে লেখা হয়েছে, কারণ -p ইতিমধ্যে আরসিপিতে ফাইলের সময় এবং মোডগুলি সংরক্ষণের জন্য সংরক্ষিত রয়েছে।

-p
আসল ফাইল থেকে পরিবর্তনের সময়, অ্যাক্সেসের সময় এবং মোডগুলি সংরক্ষণ করে।

-r
পুনরুক্তি করে সম্পূর্ণ ডিরেক্টরি কপি করুন।

-v

ভার্বোজ মোড। Scp এবং ssh এর অগ্রগতি সম্পর্কে ডিবাগিং বার্তাগুলি মুদ্রণের কারণ ঘটায়। এটি ডিবাগিং সংযোগ, প্রমাণীকরণ এবং কনফিগারেশন সমস্যার ক্ষেত্রে সহায়ক।


1
ওপি একটি ডিরেক্টরি নয়, একটি ফাইল অনুলিপি করার জন্য বলেছে।
কাউন্টারমোড

2

যথাযথ স্ক্রিপ পাথ ব্যবহার করুন

scp ssh://user@hostname/tmp/foo.txt .

1

আপনি আপনার হোম ডিরেক্টরিটি সম্পর্কিত কোনও ফাইল পাথ বা পরম ফাইল পাথ নির্দিষ্ট করতে পারেন। উদাহরণস্বরূপ, যদি foo.txtএকটি ডিরেক্টরি নামক হয় docsআপনার হোম ডিরেক্টরীতে অধীনে এবং bar.txtহয় /var/tmp, আপনি কি করতে পারেন

scp username@host.example.com:docs/foo.txt .
scp username@host.example.com:/var/tmp/bar.txt .

দ্রষ্টব্য যে যদি ফাইলের নামটিতে এমন অক্ষর থাকে যা দূরবর্তী শেলটির জন্য বিশেষত (সাধারণত সাদা অংশ বা !"#$&'*;<>?[\]^`{|}~) থাকে তবে আপনাকে স্থানীয় শেলের জন্য এড়িয়ে চলার পাশাপাশি রিমোট শেলের জন্য তাদের এড়াতে হবে। উদাহরণস্বরূপ, যদি ফাইলটি কল করা হয় foo bar.txtএবং আপনার হোম ডিরেক্টরিতে থাকে:

scp username@host.example.com:'foo\ bar.txt' .

বিরামচিহ্ন অক্ষরযুক্ত ফাইলগুলিতে আপনার যদি সমস্যা হয় তবে সেগুলি স্থানান্তর করার sftpপরিবর্তে ব্যবহার করার চেষ্টা scpকরুন। অথবা আরও সুবিধাজনক পদ্ধতি ব্যবহার করুন, যদি আপনি FUSE ব্যবহার করতে পারেন : sshfs ব্যবহার করে দূরবর্তী মেশিনের ফাইল সিস্টেমটি মাউন্ট করুন এবং তারপরে সাধারণ ফাইল ম্যানিপুলেশন কমান্ডগুলি ব্যবহার করুন।

mkdir host.example.com
sshfs username@host.example.com:/ host.example.com
cp host.example.com/path/to/file .

1

আপনি যদি নিজের লোকাল মেশিনে থাকেন তবে ডিএমজেড ব্যবহারকারী এবং পাসওয়ার্ড থাকলে দু'জনেই সহজে এসসিপি করতে পারেন: ডিএমজেড থেকে আপনার স্থানীয় লিনাক্স মেশিনে (টানুন)। মানে আপনার বর্তমান লগ-ইন করা পিডাব্লুডিতে ফোল্ডার 2 এর ভিতরে abc.text অনুলিপি করে।

scp user@111111:folder1/folder2/abc.txt .

এটি পাসওয়ার্ড চাইবে

এখানেই শেষ

এখন আপনি একটি ফোল্ডার আপনার স্থানীয় মেশিন থেকে ডিএমজেডে সাবফোল্ডার এবং ফাইলগুলি প্রেরণ করতে চান:

ইউএসআর @ লোকালম্যাচাইন: ~ / abc / defs> scp -r ফোল্ডার / usr @ 111111: vkrishna / ডকার /

আবার পাসওয়ার্ড জিজ্ঞাসা করা হবে

: রিমোট মেশিনের মূল ফোল্ডার এবং ভাকৃষ্ণ সেখানে একটি ফোল্ডার এবং আবার ডকার সাবফোল্ডার। স্থানীয়ভাবে ডিফস ফোল্ডারে "ফোল্ডার" নামে একটি ফোল্ডার রয়েছে যা আমরা সম্পূর্ণরূপে স্থানান্তর করতে চাই।

Like / abc / defs / ফোল্ডার

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