بسم الله الرحمن الرحيم
السلام عليكم و رحمة الله و بركاته
سأحاول في هذا الموضوع عمل شرح مبسط لأداة تحميل الملفات و المواقع wget، و التي تعمل من سطر اﻷوامر.
فإذا كنت من محبي سطر اﻷوامر، فإنك لن تجد -بإذن الله- أي صعوبات في استخدام هذه اﻷداة.
و أما إن كنت لا تفهم شيئا في سطر اﻷوامر فلا تخف، فإن wget برأيي من أفضل اﻷدوات لتعلم و تعود استعمال سطر أوامر اللينكس.
1. مقدمة
Gnu Wget برنامج مجاني يوفر أداة قوية و مبسطة لتحميل الملفات بواسطة بروتوكولات http و https و ftp، و هي البروتوكولات اﻷكثر استعمالا في الشبكة العنكبوتية. و من أبرز مميزات هذا البرنامج :
- أنه مكتوب ب لغة C مما يسهل حمله على مختلف أنظمة التشغيل، وليس فقط نظام اللينكس.
- غير تحاوري مع المستخدم، بمعنى أنه لا يحتاج إلى حضور دائم و تدخلات من المستخدم أثناء التنفيذ ﻷنه يعمل في الخلفية background. و هذا يعني أن المستخدم بإمكانه إنهاء الجلسة و غلق الواجهة الرسومية دون أن يؤدي ذلك إلى وقف التحميل ب wget. و هذا يسهل كذلك استعمال wget في سكربتات أو في منفذ المهام cron.
- في حالة الانقطاع المفاجئ للتحميل فإن wget بإمكانه إكمال التحميل من آخر نقطة دون الحاجة إلى إعادة تحميل الملف كاملا.
- التحميل الحلقي أو الدوري (recursive)، و هو المستعمل لتحميل مواقعhttp أو شجرة سرفرftp بالكامل و ذلك بتتبع الروابط الموجودة في أول ملف محمل و تحميلها ثم إعادة العملية على كل ملف بطريقة دورية. و هذه الطريقة تمكنك من عمل نسخة محلية لموقع في الانترنت لزيارتها في أي وقت و لو بدون اتصال على الانترنت.
- إمكانية التحكم في سرعة التحميل، و الفائدة من هذا هي وضع حد للسرعة حتى لا تستهلك الباندويث بأكمله في حالة رغبتك الدخول على الانترنت في نفس الوقت.
و رغم هذه المزايا و غيرها فإن wget لا يخلو من بعض العيوب و أهمها :
- عدم تحمل عدد كبير من البروتوكولات. حيث أن wget لا يسمح بالتحميل باستحمال بروتوكولات مثل rtsp و mms و p2p. و هذا راجع إلى التركيز الكبير على http و ftp.
- عدم القدرة على تتبع روابط الجافا سكربت.
- العدد الهائل من الخيارات المتوفرة مما قد يشكل متاهة للمستخدم و كذلك بعض المفاجئات عند استخدام بعض الخيارات مع البعض.
2. التحميل و التثبيت
يوجد احتمال كبير لوجود wget في نظامك. في حالة عدم وجودها فهذا عنوان التحميل :
http://ftp.gnu.org/pub/gnu/wget
المرجو تحميل آخر نسخة (حاليا 1.10)، ثم تركيبها بالطريقة المعتادة :
$ tar zxvf wget-1.10.tar.gz $ cd wget-1.10 $ ./configure $ make $ su Passwd ... # make install
يمكنك التأكد من التركيب باﻷمر التالي الذي سوف يعطيك معلومات عن النسخة المستعملة :
$ wget -V GNU Wget 1.10 Copyright (C) 2005 Free Software Foundation, Inc. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. Originally written by Hrvoje Niksic <hniksic@xemacs.org>.
3. أمثلة بسيطة للاستعمال
المثال اﻷول : سنحاول تحميل سورة الفاتحة من هذا العنوان : http://quran.islamway.com/hudhaifi/001.mp3
افتح الطرفية و ادخل إلى المجلد الذي تريد التحميل إليه ثم نفذ اﻷمر التالي :
$ wget http://quran.islamway.com/hudhaifi/001.mp3
إذا صار كل شيء على ما يرام فخرج اﻷمر سيكون على الشكل التالي :
--11:25:00-- http://quran.islamway.com/hudhaifi/001.mp3 => `001.mp3.1' Resolving quran.islamway.com... 204.187.100.94 Connecting to quran.islamway.com|204.187.100.94|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 246,410 (241K) [audio/mpeg] 100%[====================================>] 246,410 16.62K/s ETA 00:00 11:25:18 (15.72 KB/s) - `001.mp3' saved [246410/246410]
لاحظ أن التحميل بدأ بالضبط في الساعة 11:25:00 و انتهى في 11:25:18 أي بعد 18 ثانية. و أن حجم الملف 241 كيلو، و السرعة المتوسطة للتحميل هي 15.72 كيلو بايت في الثانية.
المثال الثاني : اﻵن سنحاول تحميل سورة البقرة و حجم الملف هو 25 م ب. الملف أضخم من ملف سورة الفاتحة، إذن سيأخذ وقتا أطول مع احتمال مشكلين : اﻷول هو انقطاع التحميل في الوسط لسبب من اﻷسباب. و الثاني هو استعمال wget للباندويث بأكمله مما سيؤثر على سرعة التصفح إذا أردت الدخول على الانترنت في نفس الوقت. لعلاج هذين المشكلين سنستعمل اﻷمر مع خيارات ثانوية على الشكل التالي :
$ wget -c --limit-rate=10k http://quran.islamway.com/hudhaifi/002.mp3
النتيجة ستكون على هذا الشكل :
--11:47:30-- http://quran.islamway.com/hudhaifi/002.mp3 => `002.mp3' Resolving quran.islamway.com... 204.187.100.94 Connecting to quran.islamway.com|204.187.100.94|:80... connected. HTTP request sent, awaiting response... 206 Partial Content Length: 26,472,448 (25M), 26,442,112 (25M) remaining [audio/mpeg] 1% [> ] 379,251 10.01K/s ETA 42:28
لاحظ أن سرعة التحميل لا تتجاوز 10.01 كيلو في الثانية. و السبب في ذلك هو استعمال الخيار التالي:
--limit-rate=10k
فالحرف k يعني كيلو، كذلك يمكن استعمال الحرفين m و g (ميغا و جيغا). في حالة عدم وضع أي حرف فإن السرعة تكون بالبايت في الثانية.
الخيار c يعني continue و هو يسبب إكمال تحميل سابق من آخر نقطة دون الحاجة إلى إعادة التحميل من البداية. فمثلا إذا قطعنا التحميل السابق و أردنا إكماله فيما بعد فاﻷمر هو نفسه (أو معدل إذا أردت حذف أو تغيير خيار تحديد السرعة):
$ wget -c --limit-rate=10k http://quran.islamway.com/hudhaifi/002.mp3
و الخرج سيكون على هذا الشكل :
--11:57:24-- http://quran.islamway.com/hudhaifi/002.mp3 => `002.mp3' Resolving quran.islamway.com... 204.187.100.94 Connecting to quran.islamway.com|204.187.100.94|:80... connected. HTTP request sent, awaiting response... 206 Partial Content Length: 26,472,448 (25M), 26,442,112 (25M) remaining [audio/mpeg] 5% [+=> ] 1,553,139 16.61K/s ETA 24:29
لاحظ أن ما سبق تحميله يشار إليه بعلامة زائد.
يتبع إن شاء الله
