SCP का उपयोग करने में त्रुटि: "नियमित फ़ाइल नहीं"


72

मैं थोड़ी देर से खोज रहा हूं और मुझे एक नियमित फाइल की परिभाषा नहीं मिल रही है। मेरा रास्ता स्थायी है (मैं शुरू करता हूं /) और मैं इससे जुड़ रहा हूं

scp root@IP: /path/to/picture.jpg

एक पासवर्ड के लिए एक जांच में परिणाम और फिर ...

scp: .: not a regular file

जवाबों:


58

एक नियमित फ़ाइल एक ऐसी फ़ाइल है जो किसी विशेष या विशेष प्रकार की "विशेष" फ़ाइलों का नाम नहीं है, जैसे कि नामांकित पाइप, डिवाइस, सॉकेट, दरवाजे, आदि। प्रतीकात्मक लिंक या तो नियमित रूप से फाइल नहीं हैं, लेकिन वे अपने लक्ष्य की तरह व्यवहार करते हैं। एक एप्लिकेशन फ़ाइल की सामग्री तक पहुंच रहा है।

आप root@IP:प्रतिलिपि के स्रोत और /path/to/picture.jpgगंतव्य के रूप में उत्तीर्ण हुए । स्रोत rootमशीन पर उपयोगकर्ता की होम डायरेक्टरी है IP। यह एक गंतव्य के रूप में उपयोगी है, लेकिन स्रोत के रूप में नहीं। किसी फ़ाइल पर निर्देशिका को कॉपी करने के लिए आपने जो टाइप किया है; scpजब तक आप -rविकल्प के साथ एक पुनरावर्ती प्रतिलिपि नहीं मांगते हैं, तब तक एक निर्देशिका की प्रतिलिपि नहीं बना सकते हैं (और यह एक निर्देशिका के साथ भी एक मौजूदा फ़ाइल को अधिलेखित करने से इंकार कर देगा -r, लेकिन यह चुपचाप एक नियमित फ़ाइल को अधिलेखित कर देगा यदि स्रोत एक नियमित फ़ाइल थी)।

यदि /path/to/picture.jpgफ़ाइल की दूरस्थ मशीन पर वह पथ है जिसे आप कॉपी करना चाहते हैं, तो आपको फ़ाइल नाम को होस्ट विनिर्देशन पर चिपका देना होगा। यह बृहदान्त्र :है जो होस्ट नाम को दूरस्थ पथ से अलग करता है। आपको एक गंतव्य भी निर्दिष्ट करना होगा।

scp root@IP:/path/to/picture.jpg /some/destination

यदि आप स्थानीय फ़ाइल /path/to/picture.jpgको दूरस्थ होस्ट में कॉपी करना चाहते हैं , तो आपको तर्कों को स्वैप करना होगा। यूनिक्स कॉपी कमांड पहले स्रोत और गंतव्य को अंतिम रूप देते हैं।

scp /path/to/picture.jpg root@IP:

यदि आप दूरस्थ फ़ाइल /path/to/picture.jpgको स्थानीय रूप से उसी स्थान पर कॉपी करना चाहते हैं , तो आपको पथ को दोहराने की आवश्यकता है। आपके पास आपका शेल आपके लिए दोहराने का काम करता है (कम टाइपिंग, कम पठनीयता)।

scp root@IP:/path/to/picture.jpg /path/to/picture.jpg
scp {root@IP:,}/path/to/picture.jpg

2
सुनिश्चित करें कि hostname और फ़ाइल के बीच कोई स्थान मौजूद नहीं है
क्रिस करें

मैं इसे पढ़ने के बाद इतनी अविश्वसनीय रूप से मूर्खतापूर्ण महसूस करता हूं। मूल गंतव्य! ओह!
चैम एलियाह

112

निर्देशिका की प्रतिलिपि बनाते समय, आपको -rविकल्प का उपयोग करना चाहिए :

scp -r root@IP:/path/to/file /path/to/filedestination

1
यद्यपि स्वीकृत उत्तर तकनीकी रूप से वास्तविक प्रश्न का उत्तर देता है, यह उत्तर सबसे अधिक संभावना है कि इस पृष्ठ पर आने वाले लोग क्या खोज रहे हैं।
cgnorthcutt

4

वाक्यविन्यास मुद्दा - के बीच सफेद स्थान को हटा दें

जड़ @ आईपी:

तथा

/ पथ


लेकिन, तब आपके पास कोई लक्ष्य scpनहीं है।
बर्नहार्ड

हाँ। मैंने बहुत जल्दी प्रवेश किया और इसे ठीक करने के लिए प्रतिनिधि की कमी है। आश्चर्य है कि मैं यहाँ टिप्पणी भी कर सकता हूँ। खुश होती है।
लूकर

2
मुझे लगता है कि आप हमेशा अपने स्वयं के योगदानों पर टिप्पणी कर सकते हैं, और मुझे लगा कि आप भी हमेशा उन्हें संपादित कर सकते हैं?
बर्नहार्ड

मैं इस त्रुटि का कारण नहीं बन सकताnot a regular file
HISI

@ लघुचित्र -rतर्क के रूप में उपयोग करें ।
अंकुर लोरिया

2

scp root@IP:/path/to/file /path/to/filedestination

ऊपर की कमांड दूरस्थ सर्वर से आपके कंप्यूटर पर एक फाइल कॉपी करती है। यदि आप केवल टाइप करते हैं तो scp root@IP:यह रूट की होम डायरेक्टरी (scp users home .) को कॉपी करने का प्रयास करेगा ।

इसलिए आपको फ़ाइल को सटीक पथ प्रदान करने की आवश्यकता है


यह काम किया। धन्यवाद एक गुच्छा, आदमी। कीप आईटी उप!
जेएफएम

2

आपको वह त्रुटि मिल रही है क्योंकि आप एक फ़ोल्डर और फ़ाइल की प्रतिलिपि बनाने की कोशिश कर रहे हैं और इसलिए आपको -rविकल्प का उपयोग करके अपनी फ़ाइलों की पुनरावृत्ति करना चाहिए

रिमोट मशीन से लोकल मशीन में फाइल कॉपी करते समय नीचे कमांड का उपयोग करें

scp -r root@RemoteIP:/path/to/file /path/to/filedestination

या

जब स्थानीय मशीन से रिमोट मशीन में फाइल कॉपी करते हैं

scp -r /path/to/file root@RemoteIP:/path/to/filedestination

0
scp root@IP:/path/to/*.jpg  /path/to/filedestination/

यह काम करेगा (कम से कम मेरे मैक पर)

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.