কম্পিউটার টিউটোরিয়াল

লিনাক্স wget মাস্টার করুন: প্র্যাকটিক্যাল উদাহরণসহ সম্পূর্ণ গাইড

আপনি আমাদের Magic Mirror টিউটোরিয়াল ফলো করলে দেখতে পাবেন wget কমান্ড ফাইল ডাউনলোড করতে ব্যবহার করা হয়েছে।

এই টিউটোরিয়ালে ব্যাখ্যা করা হয়েছে wget কিভাবে ব্যবহার করবেন - এটি একটি কমান্ডলাইন টুল যা ওয়েব থেকে ফাইল ডাউনলোড (গেট) করে,.HTTP, HTTPS, FTP, বা FTPS যেকোনো প্রোটোকল দিয়ে।

লিনাক্স শেল থেকে ইন্টারনেট থেকে ফাইল ডাউনলোড করতে, ব্যাশ স্ক্রিপ্ট থেকে কল করতে ব্যবহার করুন - এটি সিম্পল এবং ভার্সাটাইল, একবার শুরু হলে ইউজার ইন্টারফেরেন্স ছাড়া ব্যাকগ্রাউন্ডে চলতে পারে।

সিনট্যাক্স

wget [OPTIONS]... [ URLS ]...

নোট করুন:

  • OPTIONS হলো নিচের টেবিল থেকে পাস করা অপশনগুলো, স্পেস দিয়ে আলাদা করা হয়
  • URLS হলো ডাউনলোড করার URL গুলোর লিস্ট, স্পেস দিয়ে আলাদা করা হয়

ডক্স থেকে সরাসরি wget অপশনগুলো:

সাধারণ অপশন
-o logfile সকল মেসেজ logfile-এ লগ করুন। সাধারণত মেসেজ স্ট্যান্ডার্ড এররে রিপোর্ট হয়।
-a logfile logfile-এ অ্যাপেন্ড করুন। এটি -o এর মতোই, শুধু ওভাররাইট না করে অ্যাপেন্ড করে। যদি 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 রিকার্সন Мак্সিমাম ডেপথ লেভেল depth সেট করুন। ডিফল্ট ম্যাক্স ডেপথ ৫।
-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 ও ব্যবহার করতে পারেন লগ ফাইল লিখতে, এটি অ্যালরেডি এক্সিস্ট করলে ওভাররাইট করবে।

ফাইল ডাউনলোড, ৫ বার রিট্রাই, কয়েটলি

ফাইল ডাউনলোড রিট্রাই করুন এবং টার্মিনালে প্রগ্রেস প্রিন্ট না করুন:

wget -t 5 -q https://www.example.com/file.zip

ফাইল লিস্ট থেকে ডাউনলোড, প্রতিটি ডাউনলোডের মাঝে ৬ সেকেন্ড ওয়েট, ১২ সেকেন্ড টাইমআউট

সার্ভার লোড কমাতে ডাউনলোডের মাঝে ওয়েট করুন, এবং সার্ভার ১২ সেকেন্ডের মধ্যে রেসপন্স না দিলে আবোর্ট করুন:

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 ডেটা হিসেবে দুটি ভ্যালু পাঠাচ্ছি - postcode এবং country।

POST রিকোয়েস্ট করার ক্ষেত্রে cURL আরও ভার্সাটাইল হতে পারে।

FTP দিয়ে ডিরেক্টরি রিকার্সিভ ডাউনলোড ডেপথ লিমিটসহ

রিকার্সিভ ডাউনলোড মানে একটি ফোল্ডারের কন্টেন্ট এবং তার সাব-ফোল্ডারগুলোর কন্টেন্ট ডাউনলোড করা। এই উদাহরণে ডেপথ লিমিট ৩ - মানে যদি ফোল্ডার ৩ টি অন্য ফোল্ডারের ভেতরে নেস্টেড থাকে, সেটা ডাউনলোড হবেনা:

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

সাকসেস রেট ভিন্ন হতে পারে - কিছু মডার্ন ওয়েব পেজ তাদের নেটিভ এনভায়রনমেন্টের বাইরে রিপ করা হলে ভালো কাজ করে না।

  1. লিনাক্স ক্যাট (cat) কমান্ড ব্যবহারের পূর্ণাঙ্গ গাইড

  2. লিনাক্সে Sudo কমান্ড: অ্যাডমিনিস্ট্রেটিভ কাজের জন্য অনুমতির দরোয়াজা

  3. লিনাক্সে সফটওয়্যার সফলভাবে ডাউনলোড করার ৫ টিপস

  4. লিনাক্সে Find কমান্ড ব্যবহার করে ফাইল খুঁজে বের করার পদ্ধতি