विंडोज़ से लिनक्स में फाइल कॉपी करें


16

मैं एक स्क्रिप्ट लिख रहा हूं। यह एक linux मशीन चलाएगा। इसके लक्ष्य में लिनक्स, सोलारिस और खिड़कियां शामिल हैं।

मुझे पता है कि मैं * nix के बीच फाइल कॉपी करने के लिए scp का उपयोग कर सकता हूं। लेकिन कैसे खिड़कियों से फ़ाइल की नकल के बारे में?

ये खिड़कियां परीक्षण मशीनें हैं, जिनके लिए विशिष्ट सॉफ़्टवेयर स्थापित होने की उम्मीद नहीं की जा सकती है, क्योंकि ओएस को अक्सर पुनर्स्थापित किया जा सकता है।

जवाबों:


21

सांभर का उपयोग करें ।

सांबा विंडोज के साथ संगत एक फ़ाइल साझा सेवा प्रदान करता है।

आप /srv/samba/sharenameअपने लिनक्स कंप्यूटर पर एक निर्देशिका (उदाहरण के लिए ) साझा कर सकते हैं और इसे इस तरह से विंडोज से एक्सेस कर सकते हैं \\linuxservername\sharename:। यह विंडोज पर किसी भी अतिरिक्त सॉफ्टवेयर की जरूरत नहीं है।

सांबा अधिकांश लिनक्स वितरणों में शामिल है। उदाहरण के लिए, पैकेज प्रबंधक का उपयोग करके इसे स्थापित करें:

  • उबंटू: sudo apt-get install samba smbclient

  • SUSE: zypper samba

  • CentOS / RedHat: yum install samba

सांबा को कॉन्फ़िगर करने के लिए, देखें:

या अपने वितरण के लिए एक मार्गदर्शिका खोजने के लिए Google खोजें।

ध्यान दें कि आपको अपने लिनक्स फ़ायरवॉल को कॉन्फ़िगर करने की आवश्यकता हो सकती है, यदि आप एक का उपयोग करते हैं, तो पोर्ट 137 / टीसीपी, 138 / टीसीपी, 139 / टीसीपी और 445 / टीसीपी ( यह और यह देखें ) के कनेक्शनों को स्वीकार करने के लिए ।


लिनक्स कंप्यूटर के ऊपर के विवरण में एक सांबा सर्वर है और विंडोज इससे एक हिस्सा साझा करता है।

नीचे अपनी टिप्पणी में आप उल्लेख करते हैं कि आप स्थानांतरण प्रक्रिया को स्वचालित करना चाहते हैं । यह भूमिकाओं को उलट कर प्राप्त किया जा सकता है ताकि विंडोज सर्वर और लिनक्स के रूप में काम करे smbclient

इसके साथ smbclientआपको विंडोज शेयर को माउंट करने की आवश्यकता नहीं है। उदाहरण के लिए, अपने लिनक्स कंप्यूटर पर C:\Directory\file.txtइसे पुनः प्राप्त करने और इसे कॉपी करने के लिए /tmp:

smbclient '//windowsserver/c$' -c 'lcd /tmp; cd Directory; get file.txt' -U administrator%password

-cनिष्पादित करने की आज्ञा। man smbclientविवरण के लिए देखें।

-U के रूप में निर्दिष्ट शेयर तक पहुँचने के लिए उपयोगकर्ता नाम और पासवर्ड username%password

अपनी आवश्यकताओं के लिए इसे संशोधित करें और इसे अपनी स्क्रिप्ट में जोड़ें।


@ मोम, आपके शानदार जवाब के लिए धन्यवाद। मुझे पता है कि सांबा विंडोज के साथ काम कर सकता है। लेकिन यह अभी भी एक फ़ाइल की नकल करते समय मानव की भागीदारी की आवश्यकता है। जैसा कि मेरी स्क्रिप्ट एक लिनक्स पर चलेगी और मशीन ने सांबा स्थापित किया है, मैं एक स्क्रिप्ट को कॉपी करने का काम कैसे करने दूं? ऐसा लगता है कि मैंने लिनक्स में विंडोज डिस्क को बेहतर ढंग से माउंट किया था, फिर मैं इसे लिनक्स में एक्सेस कर सकता हूं। क्या सांभा ऐसा कर सकता है?
एलेक्स

हां, सांबा ऐसा कर सकते हैं। इससे भी बेहतर, आपको विंडोज शेयर को माउंट करने की आवश्यकता नहीं है। आप smbclientविंडोज शेयर से कनेक्ट करने के लिए उपयोग कर सकते हैं , एक फाइल कॉपी कर सकते हैं और डिस्कनेक्ट कर सकते हैं। मैंने अपना उत्तर संपादित किया, इस पर एक नज़र डालें।
jaume

आपका स्वागत है, मुझे खुशी है कि मैं मदद कर सका।
जाउम

1
विशेष रूप से -cविकल्प सरल मामलों में उपयोग करने के लायक है। मेरी मशीन पर पासवर्ड नंगे तर्क (बिना किसी विकल्प के) के रूप में आता है। और इसके अलावा - मैं साख कमांडलाइन पाठकों से दूर रखने के लिए (का उपयोग कर पसंद करते हैं psया [h]topफोन करके, उदाहरण के लिए), -U $(cat .username) $(cat .password)
टॉमस गैंडर

3

मुझे पता है कि आपने कहा था कि आप विशिष्ट सॉफ़्टवेयर स्थापित होने की उम्मीद नहीं कर सकते हैं, लेकिन विंडोज के लिए एसएसएच / एससीपी / एसएफटीपी ग्राहक हैं जिन्हें किसी विशेष स्थापना की आवश्यकता नहीं है; केवल निष्पादन योग्य उपलब्ध है। एक है कि मैं अपने साथी और उपकरणों के साथ PuTTY का रुख करता रहता हूं , लेकिन मैं निश्चित हूं कि विकल्प मौजूद हैं। और कमांड लाइन से पूरी तरह से संचालित किया जा सकता है, और इस प्रकार स्वचालन कार्यों के लिए अच्छी तरह से अनुकूल हैं। दोनों के पास एक स्विच भी है जिसे "सभी इंटरैक्टिव संकेतों को अक्षम करें" के रूप में वर्णित किया गया है और लगभग निश्चित रूप से इसका लाभ उठाया जा सकता है।pscppsftppscppsftp-batch

चूंकि आपके पास निश्चित रूप से पहले से ही SSH / SCP / SFTP सर्वर स्थापित है और सर्वर पर कॉन्फ़िगर किया गया है, इसलिए यह उन फ़ाइलों को कॉपी करने के उद्देश्य से किसी भी सॉफ़्टवेयर को होस्ट पर स्थापित करने से बचता है।

एक और उल्टा तथ्य यह हो सकता है कि PuTTY एक अनुज्ञेय लाइसेंस के तहत खुला स्रोत है, इसलिए यदि यह ऐसा नहीं करता है जिसे आप सीधे बॉक्स से बाहर करना चाहते हैं, तो इसे जिस तरह से आप पसंद करते हैं उसे बनाना अपेक्षाकृत आसान होना चाहिए।


1
आपकी सिफारिश के लिए धन्यवाद। मैं pscp और psftp की कोशिश करूंगा। वे भी महान उपकरण हैं।
एलेक्स

1

मैं एक CentOS 6उपयोगकर्ता हूं इसलिए मैंने इस पद्धति को आजमायाCentOS 6

सांबा का उपयोग कर स्थापित करें

[रूट @ सर्वर ~] # यम संबा स्थापित करें

पुष्टि के लिए प्रश्न

[रूट @ सर्वर ~] # rpm -qa samba
साम्बा-3.5.10-125.el6.i686

एक सांबा उपयोगकर्ता बनाएँ।

[रूट @ सर्वर ~] # यूजरपैड सांबशरे

अब smbpasswd कमांड का उपयोग करके उपयोगकर्ता नाम सांबशरे के लिए सांबा पासवर्ड बनाएं।

[रूट @ सर्वर ~] # smbpasswd -a sambashare
नया SMB पासवर्ड:
नया SMB पासवर्ड पुन: लिखें:
उपयोगकर्ता सांबशेयर जोड़ा गया।

एक सांबा शेयर निर्देशिका बनाएँ

[रूट @ सर्वर ~] # mkdir / शेयर

शेयर फ़ोल्डर के लिए स्वामित्व बदलें

[रूट @ सर्वर ~] # चाउन -आर सांभरशेयर: सांबशारे / शेयर /

फ़ाइल खोलें /etc/samba/smb.confऔर नीचे की पंक्तियों को जोड़ें।

[साझा करें]
टिप्पणी = साझा करें
पथ = / साझा करें
लेखनीय = हाँ
वैध उपयोगकर्ता = सांबशेयर

सांबा सेवा शुरू करें

[रूट @ सर्वर ~] # सेवा smb पुनः आरंभ करें
SMB सेवाओं को बंद करना: [ठीक है]
SMB सेवाएँ प्रारंभ करना: [ठीक है]

testparmकमांड का उपयोग करके अपने कॉन्फ़िगरेशन की जाँच करें

।
।
[साझा करें]
टिप्पणी = साझा करें
पथ = / साझा करें
वैध उपयोगकर्ता = सांबशेयर
केवल पढ़ें = नहीं

विंडोज़ सिस्टम में यह टाइप करें run

यहां छवि विवरण दर्ज करें

अब सांबा यूजरनेम और पासवर्ड डालें

यहां छवि विवरण दर्ज करें

आप कर चुके हैं

यहां छवि विवरण दर्ज करें


बहुत बहुत धन्यवाद, अधिकतम। एक नौसिखिया के लिए अपने बहुत ज्वलंत ट्यूटोरियल के लिए।
एलेक्स

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