यदि आपने हमारे Magic Mirror ट्यूटोरियल का पालन किया है, तो आपने कुछ फ़ाइलें डाउनलोड करने के लिए wget कमांड का उपयोग होते देखा होगा।
यह ट्यूटोरियल बताता है कि wget का उपयोग कैसे करें, जो वेब से फ़ाइलें डाउनलोड (प्राप्त) करने के लिए एक कमांड-लाइन टूल है, चाहे वह HTTP, HTTPS, FTP, या FTPS के माध्यम से हो।
इसे Linux शेल से इंटरनेट से फ़ाइलें डाउनलोड करने के लिए उपयोग करें, इसे Bash स्क्रिप्ट से कॉल करें – यह सरल और बहुमुखी है और एक बार शुरू होने पर उपयोगकर्ता हस्तक्षेप की आवश्यकता नहीं होती है ताकि यह पृष्ठभूमि में चल सके।
सिंटैक्स
wget [OPTIONS]... [ URLS ]...
ध्यान दें कि:
- OPTIONS नीचे दी गई तालिका से पास किए जा सकने वाले विकल्पों की एक सूची है, जो स्पेस से अलग किए गए हैं
- URLS डाउनलोड करने के लिए URL की एक सूची है, जो स्पेस से अलग की गई है
यहां डॉक्स से wget विकल्प दिए गए हैं:
| सामान्य विकल्प | |
|---|---|
| -o logfile | सभी संदेशों को logfile में लॉग करें। संदेश आमतौर पर मानक त्रुटि पर रिपोर्ट किए जाते हैं। |
| -a logfile | logfile में जोड़ें। यह -o के समान है, केवल यह पुरानी लॉग फ़ाइल को ओवरराइट करने के बजाय logfile में जोड़ता है। यदि logfile मौजूद नहीं है, तो एक नई फ़ाइल बनाई जाती है। |
| -q | Wget के आउटपुट को बंद करें। |
| -i file | स्थानीय या बाहरी file से URL पढ़ें। यदि इस फ़ंक्शन का उपयोग किया जाता है, तो कमांड लाइन पर कोई URL मौजूद होने की आवश्यकता नहीं है। |
| -t number | पुनः प्रयासों की संख्या को number पर सेट करें। |
| -c | आंशिक रूप से डाउनलोड की गई फ़ाइल को जारी रखें। |
| -T seconds | नेटवर्क टाइमआउट को seconds सेकंड पर सेट करें। |
| -w seconds | पुनर्प्राप्ति के बीच निर्दिष्ट संख्या के seconds प्रतीक्षा करें। |
| –user=user | HTTP या FTP प्रमाणीकरण उपयोगकर्ता नाम सेट करें। |
| –password=password | HTTP या FTP प्रमाणीकरण पासवर्ड सेट करें। |
| –post-data=string | GET के बजाय POST अनुरोध करें और डेटा भेजें। string "key1=value1&key2=value2" प्रारूप में होना चाहिए |
| -r | पुनरावर्ती पुनर्प्राप्ति चालू करें। |
| -l depth | पुनरावर्तन अधिकतम गहराई स्तर गहराई निर्दिष्ट करें। डिफ़ॉल्ट अधिकतम गहराई 5 है। |
| -m | मिररिंग के लिए उपयुक्त विकल्प चालू करें। यह विकल्प पुनरावर्तन और टाइम-स्टैम्पिंग चालू करता है, अनंत पुनरावर्तन गहराई सेट करता है और FTP डायरेक्टरी लिस्टिंग रखता है। |
| -p | यह विकल्प Wget को दिए गए HTML पेज को ठीक से प्रदर्शित करने के लिए आवश्यक सभी फ़ाइलें डाउनलोड करने का कारण बनता है। इसमें इनलाइन इमेज, ध्वनियां, और संदर्भित स्टाइलशीट जैसी चीजें शामिल हैं। |
उदाहरण
HTTPS सर्वर से फ़ाइल डाउनलोड करें
एकल फ़ाइल डाउनलोड करें, बुनियादी उपयोग:
wget https://www.example.com/file.zip
फ़ाइल डाउनलोड करना जारी रखें
यदि डाउनलोड केवल आंशिक रूप से पूरा हुआ, तो -c विकल्प के साथ डाउनलोड जारी रखें/फिर से शुरू करें:
wget -c https://www.example.com/file.zip
फ़ाइलों की सूची से डाउनलोड करें, लॉग में जोड़ें
यदि आपके पास डाउनलोड करने के लिए URL की सूची वाली एक टेक्स्ट फ़ाइल है, तो आप इसे सीधे wget को पास कर सकते हैं और बाद में निरीक्षण के लिए परिणामों का लॉग लिख सकते हैं:
wget -a log.txt -i url-list.txt
आप लॉग फ़ाइल लिखने के लिए -o का भी उपयोग कर सकते हैं, और यह मौजूदा लॉग फ़ाइल को ओवरराइट करेगा यदि यह पहले से मौजूद है।
फ़ाइल डाउनलोड करें, 5 बार पुनः प्रयास करें, चुपचाप
फ़ाइल डाउनलोड करने का पुनः प्रयास करें और टर्मिनल पर प्रगति प्रिंट न करें:
wget -t 5 -q https://www.example.com/file.zip
फ़ाइलों की सूची से डाउनलोड करें, प्रत्येक डाउनलोड के बीच 6 सेकंड प्रतीक्षा करें, 12 सेकंड टाइमआउट के साथ
सर्वर लोड कम करने के लिए डाउनलोड के बीच प्रतीक्षा करें, और यदि सर्वर 12 सेकंड के भीतर प्रतिक्रिया नहीं देता है तो रद्द करें:
wget -w 6 -T 12 -i url-list.txt
उपयोगकर्ता नाम और पासवर्ड की आवश्यकता वाले FTPS सर्वर से फ़ाइल डाउनलोड करें
उपयोगकर्ता नाम bob और पासवर्ड boat के साथ FTPS सर्वर से डाउनलोड करें:
wget --user=bob --password=boat ftps://ftp.example.com/file.zip
POST अनुरोध के साथ फ़ाइल डाउनलोड करें
डिफ़ॉल्ट GET अनुरोध के बजाय HTTP POST अनुरोध करें, और डेटा भेजें। –post-data के साथ एक खाली स्ट्रिंग भेजी जा सकती है:
wget --post-data="postcode=2000&country=Australia" https://www.example.com/file.zip
इस उदाहरण में, हम POST डेटा के दो टुकड़े भेज रहे हैं – पोस्टकोड और देश।
यदि POST अनुरोध कर रहे हैं, तो cURL अधिक बहुमुखी हो सकता है।
गहराई सीमा के साथ FTP के माध्यम से डायरेक्टरी को पुनरावर्ती रूप से डाउनलोड करें
पुनरावर्ती रूप से डाउनलोड करने से एक फ़ोल्डर की सामग्री और उस फ़ोल्डर में फ़ोल्डर्स की सामग्री डाउनलोड हो जाएगी। इस उदाहरण में 3 की गहराई सीमा परिभाषित की गई है – अर्थात यदि कोई फ़ोल्डर 3 अन्य फ़ोल्डर्स के भीतर नेस्टेड है, तो उसे डाउनलोड नहीं किया जाएगा:
wget -r -l 3 ftps://ftp.example.com/path/to/folder
FTP के माध्यम से सभी सामग्री सहित पूरी डायरेक्टरी डाउनलोड करना
wget -m ftps://ftp.example.com/path/to/folder
Wget का उपयोग करके पूरे वेब पेज को क्लोन करना
यदि आप किसी पूरे वेबपेज को – सभी इमेज, स्टाइल और स्क्रिप्ट सहित – प्राप्त करने का प्रयास करना चाहते हैं, तो आप उपयोग कर सकते हैं
wget -p https://www.example.com/page.html
आपकी सफलता अलग-अलग होगी – कुछ आधुनिक वेब पेज अपने मूल वातावरण से बाहर निकाले जाने पर वास्तव में अच्छी तरह से काम नहीं करते हैं।