मैं मशीन A पर हूं और मशीन B से फाइल खींचना चाहता हूं।
A$ scp <myuserid>@hostB:<path of file in B> .
इससे लगता है:
scp: <path of file in B>: No such file or directory
लेकिन मशीन बी पर, यह फ़ाइल इस पथ में मौजूद है।
क्या गलत हो रहा है?
मैं मशीन A पर हूं और मशीन B से फाइल खींचना चाहता हूं।
A$ scp <myuserid>@hostB:<path of file in B> .
इससे लगता है:
scp: <path of file in B>: No such file or directory
लेकिन मशीन बी पर, यह फ़ाइल इस पथ में मौजूद है।
क्या गलत हो रहा है?
जवाबों:
आपने कोई फ़ाइल निर्दिष्ट नहीं की: आपको कोलन के बाद फ़ाइल (पथ के साथ) जोड़ना है:
A$ scp <myuserid>@hostB:/absolutepath/file .
या
A$ scp <myuserid>@hostB:relativepath/file .
अपने घर निर्देशिका के सापेक्ष पथ के लिए।
यदि आप एक अलग उपयोगकर्ता निर्दिष्ट नहीं करते हैं (यानी, A और B का उपयोगकर्ता समान हैं) तो आपको इसकी आवश्यकता नहीं है @
A$ scp hostB:/path/file .
$ 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 का कारण बनता है। यह कनेक्शन, प्रमाणीकरण और कॉन्फ़िगरेशन समस्याओं को डीबग करने में सहायक है।
उचित scp पथ का उपयोग करें
scp ssh://user@hostname/tmp/foo.txt .
आप या तो एक फ़ाइल पथ निर्दिष्ट कर सकते हैं जो आपके घर निर्देशिका के सापेक्ष है, या एक पूर्ण फ़ाइल पथ है। उदाहरण के लिए, अगर 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 .
यदि आप DMZ उपयोगकर्ता और पासवर्ड आपके स्थानीय मशीन पर हैं, तो कोई भी SCP दोनों को आसानी से ले सकता है: DMZ से आपके स्थानीय लिनक्स मशीन (पुल) तक। मतलब फ़ोल्डर की प्रतिलिपि abc.text को फ़ोल्डर 2 के अंदर अपने वर्तमान लॉग-इन पीडब्ल्यूडी में।
scp user@111111:folder1/folder2/abc.txt .
यह पासवर्ड मांगेगा
बस इतना ही
अब आप अपने स्थानीय मशीन से DMF के लिए एक फ़ोल्डर सबफ़ोल्डर्स और फ़ाइलों को भेजना चाहते हैं:
usr @ localmachine: ~ / abc / defs> scp -r folder / usr @ 111111: vkrishna / docker /
फिर से पासवर्ड पूछा जाएगा
: रिमोट मशीन का रूट फ़ोल्डर है और vkrishna वहाँ एक फ़ोल्डर है और फिर से docker सबफ़ोल्डर है। स्थानीय रूप से डील्स फ़ोल्डर में एक फ़ोल्डर होता है जिसे "फ़ोल्डर" कहा जाता है जिसे हम पूरी तरह से स्थानांतरित करना चाहते हैं।
जैसे / abc / defs / folder