الاثنين، 9 ديسمبر 2013

شرح طريقة عمل الأمر wget

 شرح wget

السلام عليكم وأهلا بكم في  أول تدوينة تهتم بشرح أوامر لينكس سوف أشرح من خلالها الأمر wget وطريقة إستخدامه لسحب موقع وتصفحه محليا دون الحاجة للاتصال بالشبكة.

Wget هو أمر  متوفر على أنظمة GNU/Linux  لتحميل الملفات من على الوب ,تدعم بروتوكولات HTTP، HTTPS، و FTP.   كما أن بإمكانها إيجاد و تحميل ملفات عبر وسيط (بروكسي) HTTP .

   الميزات المهمة التي تُوفرها هذه الأداة:

  •  إستكمال التحميل إذا كان الخادم يدعم ذلك .
  •   مصممة لتكيف مع الإتصالات الضعيفة وغير الثابتة، ففي حالة فشل التحميل بسبب مشكلة في الإتصال،  فإنها تستمر في    إعادة المحاولة حتى اكتمال التحميل.
  • تتبع روابط صفحات HTML ، XHTML و CSS  لإنشاء نسخة محلية يمكن تصفحها دون الحاجة  للاتصال بالشبكة. (حيث لا يقتصر الأمر على تحميل ملف صفحة ويب فقط  بل كل الملفات التي تشير إليها هذه الصفحة، مثل الصور والسكريبتات، من أجل عرضها كما لو كنتَ تتصفح موقع ويب).

شرح اللأمر 

ينفذ الأمر wget بالطريقة التالية :
wget  [option] … [URL]...
حيث
  • option تمثل خيار أو خيارات  الأمر.
  • URL رابط أو روابط التحمبل (يمكن أيضا كما سنرى استبدال رابط التحميل بملف يحوي مجموعة من الروابط لتحميل الملفات التي تشير إليها تلك الراوبط).
  • عادة الأقواس المعكوفة غير موجودة في الأمر فهي مستخدمة للإشارة إلى أنه ليس ضروريا إعطاء كل الخيارات، 
سنتطرق في الفقرات التالية لأهم خيار ات الأمر wget إذ ليس بالإمكان عرضها كلها. لمعرفة المزيد من الخيارات يمكن ذلك عن طريق مطالعة دليل لينكس عبر إدخال الأمر man wget في Terminal ( محرر الأوامر ) أو عن طريق مطالعة هذه الصفحة (اللغة الانجليزية هي المستخدمة  في كلتا الحالتين).

خيارات الأمر wget 

تتوفر الخيارات بنسختين (كمعظم الخيارات في أوامر لينكس)، طويلة وضعتُها بين قوسين (الخيارات الطويلة تكون مسبوقة بشرطتين “--”) و قصيرة (الخيارات القصيرة تكون مسبوقة بشرطة وحيدة “-”) مثال : ( recursive--  فهو خيار طويل , أما r- فهو خيار قصير ) . استخدام أي من النسختين ينتج عنه نفس المفعول.

       الخيار r- ( أو recursive--) : تفعيل تتبع الروابط.

عند إستخدام هذا الخيار فإن الأمر يتتبع الروابط حتى المستوى المنصوص عليه في الإعدادات الافتراضية ( وهو المستوى الخامس) ابتداءً من رابط الصفحة المعطى في الأمر.
لشرح ما أعنيه بالمستوى، دعوني آخذ المثال التالي:
لو افترضنا أن هذه المدونة تحوي صفحة باسم “commande” يمكن الوصول إليها عبر صفحة باسم “linux” يوجد لها رابط على  الصفحة “Ubuntuac”  على الشكل التالي: www.Ubuntuac/linux/commande، فإن الصفحة “commande” توجد في المستوى الثالث بالنسبة للصفحة الرئيسية Ubuntuac” (المستو الأول) >>linux (الثاني) >>commande (الثالث)” . يمكن استخدام الخيار l- (أو level-- )  لتحديد المستوى الذي يصل إليه التحميل.
مثال: الأمر التالي يقوم بتحميل جميع الملفات الموجودة في هذه المدونة حتى المستوى الثالث (الخيار l3- أو level=3-- )

     الخيار k- ( أو convert-links-- ) : التحويل إلى روابط محلية.

من الخيارات المهمة جدا، إذ يقوم بتحويل الروابط المجودة على صفحة ويب لروابط محلية تمكن من تصفح الموقع المُحمل مِن على الجهاز لديك دون الحاجة للاتصال بالشبكة. يستخدم الخيار بالشكل التالي :
حيث www.ubuntuac.blogspot.com هو عنوان الصفحة المُراد تحميلها. طبعا يمكننا إضافته للأمر السابق لتحميل ملفات موقع ما وجعلها قابلة للتصفح محليا.
 wget -k -r -l3  www.ubuntuac.blogspot.com

      الخيار p- ( أو page-requisites--)  :  تحميل متعلقات صفحة.

يوجه الأمر wget لتحميل كل الملفات التي تحتاجها صفحة الوب ليتم عرضها دون الحاجة للاتصال بالشبكة.
لنأخذ مثال التدوينة السابقة (تثبيت أوبنتو )، حيث توجد صور توضح مراحل تتبيث أوبنتو . عند تطبيق الأمر wget على عنوان التدوينة المذكورة دون استخدام الخيار p- فلن يتم تحميل الصور مما يعني أنك لن تستطيع رؤيتها على النسخة المحلية. استخدام الخيار p- يمكن من التغلب على هذا الأمر. في حالة تفعيل تتبع الروابط (الخيار r- ) دون استخدام p- فإن الملفات – صور وغيرها – التي تحتاجها صفحات المستوى الأخير (المستوى الثالث في المثال الأول) لن يتم تحميلها.

      الخيار np- ( أو no-parent-- ) : قصر التحميل على المجلدات الفرعية.

يستخدم مع الخيار r- لمنع تحميل صفحات من مستوى أعلى من مستوى الصفحة المعطاة في العنوان. مثلا بإمكانك استخدام هذا الخيار لتحميل قسم من موقع دون الاضطرار لتحميل الموقع بكامله.

      الخيار b- ( أو background --) : التشغيل في الخلفية.

تشغيل الأمر في الخلفية، بإمكانك مثلا الدخول على النظام باسم مستخدم “أيوب”، تشغيل تحميل موقع في الخلفية عن طريق هذا الخيار، قفل الجلسة (session) ثم الدخول باسم مستخدم ثان “محمد” دون انقطاع التحميل الذي شغله المستخدم الأول “أيوب”.

      الخيار c- ( أو continue-- ) : استكمال التحميل.

استكمال تحميل ملف حتى ولو لم تكن استخدمت wget لبدأ التحميل (بدأتَ التحميل عن طريق المتصفح مثلا ثم انقطع التحميل لسبب أو آخر).

     الخيار i- (أو input-- ) :  تحميل روابط موجودة في ملف .


يستخدم هكذا wget -i file أو wget --input=file فيقوم بقراءة روابط المواقع أو الصفحات المُراد تحميلها من ملف (file هنا تمثل المسار الذي يوجد عليه الملف، في الملف كل سطر يحوي رابطا واحدا ) ثم تحميلها واحدا تلو الآخر.
بهذا أصل إلى نهاية هذه التدوينة التي أرجو أن تكون أفادتكم. سأكون سعيدا بالرد على استفساراتكم أو تصويباتكم عبر مربع التعليقات أدناه. 

هناك تعليق واحد:

  1. جزاك الله خيرا وبارك فيك وزادك من علمه

    عندي سؤال:
    عندي ملف يحوي روابط تنزيل تحديثات لابونتو تم انشاؤه من خلال stnaptic وسؤالي هو عند تنفيذ الملف فانه يقوم بتزيل الروابط وسؤالي هو اذا اغلقت الكمبيوتر فجأة هل يقوم الامر wget باستكمال التحميل عند تسجيل الدخول تلقائيا ام يجب ان اعيد الامر وكيف اعلم اين وصل بالتحميل وكم تبقى له؟
    ارجو ان يكون سؤالي واضح

    سؤال ثاني يا ريت تعمل مثال على تنزيل فيديو من اليوتيوب باستخدام الامر wget

    وشكرا

    ردحذف