Ssh के विपरीत, scp अपरकेस पी के बजाय पोर्ट सेट करने के लिए अपरकेस पी स्विच का उपयोग करता है:
scp -P 80 ... # Use port 80 to bypass the firewall, instead of the scp default
लोअरकेस पी स्विच का उपयोग कई बार और मोड के संरक्षण के लिए scp के साथ किया जाता है।
यहाँ दो स्विच से संबंधित सभी विवरणों के साथ scp के मैन पेज का एक अंश है, साथ ही अपरकेस पी को scp के लिए क्यों चुना गया:
-पोर्ट रिमोट होस्ट पर कनेक्ट करने के लिए पोर्ट को निर्दिष्ट करता है। ध्यान दें कि यह विकल्प एक राजधानी 'पी' के साथ लिखा गया है, क्योंकि -p पहले से ही आरसीपी (1) में फ़ाइल के समय और मोड के संरक्षण के लिए आरक्षित है।
-p मूल फ़ाइल से संशोधन समय, पहुंच समय और मोड को संरक्षित करता है।
अपडेट करें और एक तरफ (भारी उठे हुए) टिप्पणियों को संबोधित करने के लिए :
scp
विकल्प आदेश के बारे में अब्दुल की टिप्पणी के संबंध में , वह क्या सुझाव देता है:
scp -P80 -r some_directory -P 80 ...
..., चौराहों विकल्प और मापदंडों। getopt(1)
स्पष्ट रूप से परिभाषित करता है कि मापदंडों को विकल्पों के बाद आना चाहिए और उनके साथ प्रतिच्छेद नहीं किया जाना चाहिए:
जिन मापदंडों को अपनाया जाता है, उन्हें दो भागों में विभाजित किया जा सकता है: विकल्प, जो प्राप्त करने के तरीके को संशोधित करते हैं, पार्सिंग करेंगे (विकल्प और SYNOPSIS में ऑप्टस्ट्रिंग), और वे पैरामीटर जिन्हें पार्स किया जाना है (SYNOPSIS में पैरामीटर)। दूसरा भाग पहले गैर-विकल्प पैरामीटर पर शुरू होगा जो विकल्प तर्क नहीं है, या '-' की पहली घटना के बाद है। यदि पहले भाग में कोई '-o' या'-options 'विकल्प नहीं मिलता है, तो दूसरे भाग के पहले पैरामीटर को लघु विकल्प स्ट्रिंग के रूप में उपयोग किया जाता है।
चूंकि -r
कमांड लाइन विकल्प आगे कोई तर्क नहीं लेता है, some_directory
इसलिए "पहला गैर-विकल्प पैरामीटर है जो विकल्प तर्क नहीं है।" इसलिए, जैसा कि getopt(1)
मैन पेज में स्पष्ट रूप से लिखा गया है , सभी सफल कमांड लाइन तर्क जो इसका पालन करते हैं (यानी, -P 80 ...
) को गैर-विकल्प (और गैर-विकल्प तर्क) माना जाता है।
तो, वास्तव में, यह है कि getopt(1)
विकल्पों के अंत के साथ प्रस्तुत उदाहरण को कैसे देखता है और ग्रे में टेक्स्ट बिंग को सफल करके सीमांकित किए गए मापदंडों की शुरुआत:
scp -80- आर some_directory -P 80 ...
यह scp
व्यवहार और सब कुछ करने के लिए कुछ भी नहीं है कि कैसे POSIX मानक आवेदन getopt(3)
सी कार्यों के सेट का उपयोग कर कमांड लाइन विकल्प पार्स करते हैं।
कमांड लाइन ऑर्डरिंग और प्रोसेसिंग के संबंध में अधिक जानकारी के लिए, कृपया getopt(1)
उपयोग किए गए मैनपेज को पढ़ें :
man 1 getopt