Gnu/wget ابزاری برای Download

27 01 2008

توی Windows زندگی می‌کردم. گاهی تمام وقتم رو می‌ذاشتم تا یه نرم‌افزار مدیریت دریافت خوب گیر بیارم. در نهایت همه سر و ته یه کرباس بودن! DAP خوب بود ولی این اواخر شاید محبوبیت بیش از حد، از راه به درش کرد. با IDM آشنا شدم، بدک نبود، حتی خود اوبونتو رو هم با اون دانلود کردم!

از وقتی به زندگی در Gnu/Linux روی آوردم، دنبال این بودم که یه چیز مثل همون نرم‌افزار ها گیر بیارم. البته نرم‌افزاری مثل Multiget هم گیر آوردم که تقریبا تمام امکاناتی رو که بقیه داشتن رو داشت. وقتی تو مقالات سایت Technotux به مقاله‌ی جالبی رسیدم.

باور نمی‌کردم که خط‌فرمان لینوکس جایی برای دریافت File باشه! اونم از نوع خیلی قوی! بله! نرم‌افزار Gnu/Wget یکی از قوی ترین نرم افزار های Download از اینترنته، کاملا ایمن! غیر ممکنه یک File رو بد دریافت کنه! قابلیت دریافت یک Website رو داره و هزار جور امکان قوی دیگه! پست قبلی که در مورد بزک کردن خط فرمان بود، یک عکس رو به همراه داشت که من توی اون عکس داشتم با wget نسخه Ramon از Parsix رو دریافت می‌کردم، این به ذهنم رسید که یک نیم‌چه آموزشی در مورد این Gnu/Wget داشته باشم.

اگه بخوایم بدون هیچ قرتی بازی! یک File رو دریافت کنیم، توی خط فرمان تایپ می‌کنیم wget و بعد آدرس File رو اضافه می‌کنیم. به عنوان مثال من می‌خوام این عکس رو با wget دریافت کنم. توی خط فرمان تایپ می‌کنم:

wget http://lh5.google.com/ramin.gomari/R5kRbPfLqKI/AAAAAAAAAO0/XJgcxdlXZX0/200717051112-2310.jpg?imgdl=1

می‌بینید چقدر آسونه؟! با این دستور آدرس فایل به برنامه wget به عنوان یک پارامت (توی آموزش جاوا در این مورد صحبت می‌کنم) ارسال می‌شه و wget هم اون File رو در پوشه‌ی جاری دریافت می‌کنه. وقتی خط فرمان رو باز می‌کنید پوشه‌ی جاری همون پوشه‌ی خانگیتونه. حالا اگه این فایل رو قبلا نصفه نیمه دریافت کردیم و می‌خوایم ادامه‌ی کار رو داشته باشیم، یا این که شک داریم که قبلا دریافت کردیم یا نه و نمی‌خوایم دوباره دریافت کنیم، یه پارامتر c به دستور اضافه می‌کنیم، به مثال دقت کنید:

wget -c http://lh5.google.com/ramin.gomari/R5kRbPfLqKI/AAAAAAAAAO0/XJgcxdlXZX0/200717051112-2310.jpg?imgdl=1

یادمه زمانی که با Dialup به اینترنت وصل می‌شدم، سرعتم خیلی کم بود (نه بابا!) گاهی حالا به هر دلیل برای مدت کوتاهی سرعت Download من صفر می‌شد و اگه از برنامه‌ی مدیریت دریافت استفاده نمی‌کردم، دریافتم قط می‌شد و باید از اول شرو می‌کردم! البته اون زمان روباه آتشین همچین معروف نبود ها! این wget در حالت معمولی در صورت قط شدن دریافت به صورت پیش فرض 20 بار سعی در دریافت می‌کنه و اگر نا موفق بود، می‌قطعه (قطع می‌شه!) اگه می‌خواین این 20 بار رو بیشتر کنید، از سوییچ t برای تغییر تعداد دفعات سعی مجدد (چی‌ی‌ی‌ی شد!) استفاده کنید، تو مثال زیر من 77 بار سعی می‌کنم اون عکس رو بگیرم:

wget -t 77 http://lh5.google.com/ramin.gomari/R5kRbPfLqKI/AAAAAAAAAO0/XJgcxdlXZX0/200717051112-2310.jpg?imgdl=1

گاهی دوست دارین مراحل دریافت رو توی یک پرونده متنی داشته باشین، از سوییچ o برای این کار استفاده کنید و بعد آدرس پرونه رو بنویسید. من تو مثال زیر مراحل دریافت رو تو پرونده‌ی downloadlog.txt ذخیره می‌کنم:

wget -o downloadlog.txt http://lh5.google.com/ramin.gomari/R5kRbPfLqKI/AAAAAAAAAO0/XJgcxdlXZX0/200717051112-2310.jpg?imgdl=1

اما چیزی که من خیلی باش حال می‌کنم! قراره کلی پرونده رو دریافت کنید! قراره شام هم برین خونه‌ی خاله! هر پرونده هم شونصد ساعت دریافتش طول می‌کشه! چیکار می‌کنید؟! یکی از دوستان قبلا یه راه عالی به من یاد داد: «می‌شینیم گریه می‌کنیم تا پرونده ها دریافت بشه.» البته خب راه خوبیه و در 95 درصد مواقع جواب می‌ده! من در مورد اون 5 درصد باقی مونده این رو می‌گم، از سوییچ i استفاده می‌کنیم به این صورت که یه پرونده متنی می‌سازیم که توش اشاراتی هم به آدرس عکس ها شده! یه نمونه از این پرونده که حاوی عکس‌های پس‌زمینه برای Parsix هستش رو من این زیر می‌نویسم، البته که محتویاتش منظورمه! اسم پرونده رو هم می‌ذاریم ParsixPictures.txt:


Axe aval:
http://lh5.google.com/ramin.gomari/R5ycqffLrZI/AAAAAAAAAfE/pcVOszSP5HI/parsix-12-copy.jpg?imgdl=1
in ham axe dovom:
http://lh6.google.com/ramin.gomari/R5yUhvfLrSI/AAAAAAAAAeM/1nItOUgF5Zc/7.jpg?imgdl=1
in parsix ajab hoolooeye ha:
http://lh3.google.com/ramin.gomari/R5yUh_fLrUI/AAAAAAAAAec/WBWvRnIsBEA/parsix-4-copy.jpg?imgdl=1
Base hamin 3 ta!

می‌بینید که توی اون پرونده من فقط اشاراتی به آدرس عکس ها کردم! این لیست من 3 تا عکس توشه! خب حالا این پرونده رو به wget می‌سپارم تا دریافت این سه تا عکس رو خود به خود شرو کنه و من می‌رم خونه‌ی خاله! اول دستور wget بعد هم سوییچ i و بعد هم آدرس سند متنی:


wget -i ParsixPictures.txt

از خونه خاله که برگشتم، عکس ها دریافت شدن! گاهی بابام می‌خواد از اینترنت استفاده کنه! بابام اینا توی اداره ای که کار مکنن اینترنت خیلی کیلوبیت در ثانیه دارن و این 128Kbps من در مقابلش لنگ می‌ندازه! اما خوب باز هم کار بابااِ رو راه می‌ندازه! از اونجا که اینترنت بدون کامپیوتر همچین خوب میسر نیست! بابااِ میاد میشینه پای کامپیوتر و اونوقت من باید برم سوت بزنم یا سماق بمکم! اخیرا فهمیدم که روش های نا جوانمردانه ای هم هست! یه لیست از پرونده‌هایی که قراره دریافت کنم رو می‌ذارم زمانی که بابااِ قراره اینترنت گردی کنه! برای این که نفهمه من این خباثت رو انجام دادم! مراحل دریافت رو در خفا انجام می‌دم! کافیه سوییچ b رو به wget اضافه کنم! البته بهتره که سوییچ o رو هم خودمون بهش بدیم که اگه ندیم خودش اضافضش می‌کنه! این جوری وقتی بابااِ می‌شینه اینترنت گردی کنه به سرعتی نیم bit در ثانیه می‌رسه که حالش گرفته می‌شه (نکته: در اینطور مواقع باید خودتون رو به خواب بزنید!) مثال زیر، همون مثال بالاست ولی در خفا:


wget -bi ParsixPictures.txt -o dlLog.txt

این قرتی بازی های wget تمومی ندارن که! می‌تونید یک سایت رو هم دریافت کنید! سوییچ r این کار رو انجام می‌ده و به همون شکل سایت رو دریافت می‌کنه.


wget -r http://www.gnu.org

البته ژرفای دریافت هم می‌شه تغییر کنه! سوییچ l این کار رو می‌کنه، تازه اگه ژرفا رو 0 بذاریم، تا ته! دریافتش می‌کنه! تو مثال زیر، من ژرفا رو 2 می‌ذارم:


wget -rl 2 http://www.gnu.org

خب خوب می‌شد اگه می‌تونستیم نسخه ای رو که دریافت کردیم، روی کامپیوتر خودمون طوری ببینیم که تو اینترنت می‌بینیم، یعنی وقتی که روی یه پیوند کلیک کنیم، پرونده‌ی دریافت شده نمایش داده بشه. کار که نشد نداره! سوییچ convert-links برای این کاره! البته می‌دونم که می‌دونید چون این سوییچ یک کلمه (جمله!) ست باید قبلش دوتا خط تیره گذاشت. این جوری:


wget --convert-links -rl 2 http://www.gnu.org

و در نهایت برای ادامه‌ی دریافت یک Website نصفه نیمه! از سوییچ nc استفاده کنید، این جوری:


wget -nc --convert-links -rl 2 http://www.gnu.org

البته در این لحظه من کم‌میارم و ادامه‌ی مبحث رو می‌دم دست خودتون (می‌خوام برم خونه‌ی خاله!):


wget --help
man wget


حالا هی بگین Windows! بریم سروقت پ‌ن ها:

پ‌ن: برای جابجا شدن در پوشه‌هااز دستور cd استفاده کنید، البته تو Dos هم همین دستور بود! مثلا برای این که مثال های من رو اجرا کنید بهتره اول برین تو میزکار وبعد دستور ها رو اجرا کنید. این رو بنویسید:


cd ~/Desktop

پ‌ن: البته می‌دونید که وقتی می‌گم مثلا دستور wget بعدش آدرس منظورم اینه که اول wget بعد یه فاصله و بعد آدرس!

پ‌ن: می‌دونید می‌شه سوییچ ها رو با هم ترکیب کرد؟! مثلا دو تا سوییچ b و c رو می‌تونیم بنویسم bc.

پ‌ن: از وقتی که با Gnu/Linux آشنا شدم، نه از خونه بیرون رفتم و نه حموم و در کل از کنار کامپیوتر جُم نخوردم! تازه صورتم رو هم اصلاح نکردم! به اندازه‌ی ریچارد استالمن ریش دارم! این عکس رو ببینید.

پ‌ن: در ادامه‌ی پ‌ن قبل: از اونجا که بیرون هم نرفتم! CD خام‌هام (= CD خام هایم) ته کشیده! در نتیجه Ramon رو دریافت کردم ها! ولی نتونستم تستش کنم!

پ‌ن: این ریچارد استالمن رو که می‌شناسین؟! اگه نمی‌شناسین اینجا رو ببینید.

پ‌ن: به همه توصیه می‌کنم که به Gnu/Linux مهاجرت کنن. به خدا خوبه ها! یک بار هم که شده تجربش کنید.

پ‌ن: من دارم سعی می‌کنم که یه مقاله ساده در مورد Gnu/Linux بنویسم تا توی یک وبلاگ بزنمش و Gnu/Linux رو به کلیا معرفی کنم، اما اونقدر گستردست که نمی‌دونم از کجا شرو کنم. اساتید راهنماییم کنید لطفا.


کارها

اطلاعات

8 جواب

27 01 2008
محمدرضا

سلام!
مطلب خوبی و نسبتا کاملی رو در مورد GNU/Wget نوشتی، عالی بود :)

در مورد مطلبی که در مورد GNU/Linux می‌خوای بنویسی تا اینجا بگم که از تاریخچه شروع کن بعد اینکه چی شد ایده‌ی این سیستم عامل به ذهن لینوس رسید با اتکا به چه جنبش نرم‌افزاری ای پروژه‌ی لینوکس رو شروع کرد و در آخر هم قابلیت های لینوکس و ….

موفق باشی ;-)

28 01 2008
khajavi

خدا اجرت بده
به ازای هر نفری که به طرف لینوکس بکشی صد ها نفر دعات می کنند

راستی بین switch های wget چیزی پیدا نکردی که بتونیم یه فایل را با ۵ قسمت همزمان در یافت کنیم؟

28 01 2008
محمود

عالیه
کارت عالیه
فقط همین

29 01 2008
تفاوت من و تو… « سار

[...] امکانات فرا تری هم داره که از جمله‌ی اون ها رو من توی این پست معرفی [...]

29 01 2008
khajavi

راستی یادم رفت بگم
wikiش کن. اینجوری بهتره. wiki.ubuntu.ir

30 01 2008
لینوکس رو دوست دارم چون… نسخه سوم، split « سار

[...] کامل ترین مجموعه‌های نرم‌افزاری که من تا حالا دیدم. برنامه ای که قبلا معرفی کردم، یکی از زیر مجموعه‌ی این خط‌فرمانه. البته شاید خیلی [...]

6 01 2009
ابزار دانلود - aria2 « سار

[...] بدرد بخور بنویسم. اگه یه گنو/لینوکسی باشید، حتماً اسم wget رو شنیدین و احتمالاً با اون کار هم کردین. برنامه‌ی [...]

10 09 2009
firethumbs

عالی بود عزیز

دیدگاه‌تان را بنویسید: