मैं कमांड लाइन ftp क्लाइंट का उपयोग करके एक फ़ोल्डर को ftp करने की कोशिश कर रहा हूं, लेकिन अभी तक मैं केवल व्यक्तिगत फ़ाइलों को प्राप्त करने के लिए 'get' का उपयोग करने में सक्षम हूं।
मैं कमांड लाइन ftp क्लाइंट का उपयोग करके एक फ़ोल्डर को ftp करने की कोशिश कर रहा हूं, लेकिन अभी तक मैं केवल व्यक्तिगत फ़ाइलों को प्राप्त करने के लिए 'get' का उपयोग करने में सक्षम हूं।
जवाबों:
आप wget पर भरोसा कर सकते हैं जो आमतौर पर ftp को ठीक से (कम से कम मेरे अपने अनुभव में) संभालता है। उदाहरण के लिए:
wget -r ftp://user:pass@server.com/
आप यह भी उपयोग कर सकते हैं -m
जो मिररिंग के लिए उपयुक्त है। यह वर्तमान में इसके बराबर है -r -N -l inf
।
यदि आपके पास क्रेडेंशियल विवरण में कुछ विशेष वर्ण हैं, तो आप इसे काम करने के लिए तर्क --user
और --password
तर्क निर्दिष्ट कर सकते हैं । विशिष्ट वर्णों के साथ कस्टम लॉगिन के साथ उदाहरण:
wget -r --user="user@login" --password="Pa$$wo|^D" ftp://server.com/
EDIT
जैसा कि @asmaier द्वारा बताया गया है, यह देखें कि यदि -r
पुनरावृत्ति के लिए भी , तो इसका डिफ़ॉल्ट अधिकतम स्तर 5 है:
-r --recursive Turn on recursive retrieving. -l depth --level=depth Specify recursion maximum depth level depth. The default maximum depth is 5.
यदि आप उप-विभाजनों को याद नहीं करना चाहते हैं, तो मिररिंग विकल्प का बेहतर उपयोग करें -m
:
-m --mirror Turn on options suitable for mirroring. This option turns on recursion and time-stamping, sets infinite recursion depth and keeps FTP directory listings. It is currently equivalent to -r -N -l inf --no-remove-listing.
wget -m
( --mirror
)। wget -r
डिफ़ॉल्ट रूप से 5 की पुनरावृत्ति गहराई तक सीमित है।
--user
और --password
रेड हैट पर भी। मेरी बुद्धि है: GNU Wget 1.11.4 Red Hat modified
मुझे आश्चर्य है कि अगर यह एक संस्करण की बात है या एक विकृत चीज है ...
-l 0
, इसलिए उपयोग करने की कोई आवश्यकता नहीं है --mirror
जिसके कुछ अवांछित दुष्प्रभाव हो सकते हैं जैसे कि .listing फाइलें
wget --ask-password -rl 99 ftp://user@server.com
। इस तरह से पासवर्ड के साथ दिखाई नहीं देता है ps
और इतिहास में नहीं रहता है। बेशक, ftp की प्रकृति से इसे सर्वर पर अनएन्क्रिप्टेड भेजा जाता है।
$
) हैं, तो आपको एकल उद्धरण का उपयोग करना होगा , जैसे--user='user' --password='pa$$word'
बस थिबुत बर्रे द्वारा दिए गए जवाब को पूरक करने के लिए।
मैंनें इस्तेमाल किया
wget -r -nH --cut-dirs=5 -nc ftp://user:pass@server//absolute/path/to/directory
सर्वर नाम के बाद डबल स्लैश पर ध्यान दें। यदि मैं अतिरिक्त स्लैश नहीं डालता हूं तो मार्ग उपयोगकर्ता की होम डायरेक्टरी के सापेक्ष है।
--ftp-user=USER
और --ask-password
।
ncftp -u <user> -p <pass> <server>
ncftp> mget directory
open ftp://USERNAME:PASSWORD@HOST
ncftp शुरू करने के बाद ...
wget
, और तेजी से TAR मोड में भी। धन्यवाद!
यदि lftp
आपकी मशीन पर स्थापित है, तो उपयोग करें mirror dir
। और आप कर रहे हैं। यदि आप किसी निर्देशिका को पुन: डाउनलोड करना चाहते हैं, तो नीचे Ciro की टिप्पणी देखें।
mirror -R dir
पुनरावर्ती निर्देशिका अपलोड / अद्यतन करता है
mirror ./
वर्तमान पथ में सभी फ़ाइल और फ़ोल्डर को पुन: डाउनलोड करने के लिए भी उपयोग कर सकते हैं ।
mirror
करंट डायरेक्टरी के लिए भी टाइप कर सकते हैं और यह सबफोल्डर्स है।
यदि आप scp
इसके बजाय उपयोग कर सकते हैं ftp
, तो -r
विकल्प आपके लिए ऐसा करेगा। मैं यह देखने के लिए जांच करूंगा कि क्या आप एफ़टीपी की तुलना में अधिक आधुनिक फ़ाइल स्थानांतरण तंत्र का उपयोग कर सकते हैं या नहीं।
scp
अभी भी ssh का उपयोग करने का प्रयास करेंगे, जो आपके केवल FTP क्रेडेंशियल्स होने पर काम नहीं करेगा। 2008 की एक टिप्पणी का जवाब देते हुए अजीब लगता है कि जिस तकनीक से मैं
इसके बजाय WGet का उपयोग करें। यह HTTP और FTP प्रोटोकॉल का समर्थन करता है।
wget -r ftp://mydomain.com/mystuff
शुभ लाभ!
संदर्भ: http://linux.about.com/od/commands/l/blcmdl1_wget.htm
'Ncftp' है जो लिनक्स में इंस्टॉलेशन के लिए उपलब्ध है। यह एफ़टीपी प्रोटोकॉल पर काम करता है और इसका उपयोग फ़ाइलों और फ़ोल्डरों को पुनरावर्ती रूप से डाउनलोड करने के लिए किया जा सकता है। लिनक्स पर काम करता है। का उपयोग किया गया है और पुनरावर्ती फ़ोल्डर / फ़ाइल स्थानांतरण के लिए ठीक काम कर रहा है।
इस लिंक ... चेक http://www.ncftp.com/
यदि आप कर सकते हैं, तो मैं आपको दृढ़ता से सुझाव देता हूं tar
और bzip
(या gzip
, जो भी आपकी नाव को चलाता है) दूरस्थ मशीन पर निर्देशिका - किसी भी महत्वपूर्ण आकार की निर्देशिका के लिए, बैंडविड्थ बचत शायद ज़िप / अनज़िप करने के लिए समय के लायक होगी।
आपको उपयोग नहीं करना चाहिए ftp
। जैसे telnet
यह सुरक्षित प्रोटोकॉल का उपयोग नहीं कर रहा है, और पासवर्ड स्पष्ट पाठ में प्रेषित हैं। यह आपके उपयोगकर्ता नाम और पासवर्ड को पकड़ने के लिए तीसरे पक्ष के लिए बहुत आसान बनाता है।
दूरस्थ निर्देशिकाओं को दूरस्थ रूप से कॉपी करने के लिए, ये विकल्प बेहतर हैं:
rsync
यदि आप लॉग इन कर सकते हैं तो सबसे उपयुक्त उपकरण है ssh
, क्योंकि यह केवल अंतरों को कॉपी करता है, और कनेक्शन टूटने की स्थिति में आसानी से बीच में पुनः आरंभ कर सकता है।
ssh -r
निर्देशिका संरचनाओं की पुनरावृत्ति करने के लिए दूसरा सबसे अच्छा विकल्प है।
देख:
प्रॉम्प्ट कमांड द्वारा प्रॉम्प्ट टॉगल करें।
उपयोग:
ftp>cd /to/directory
ftp>prompt
ftp>mget *
mget
, यह पुनरावर्ती नहीं है। 22:08 से 9:01 पर जवाब थिबाट बैरेर को समझना आसान है, लेकिन-l 0
टिप्पणी में वर्णित विकल्प को जोड़ना होगा