شرح أمر wget في لينكس لتحميل الملفات من الإنترنت

في عالم يعتمد بشكل متزايد على البيانات والملفات الرقمية، تبرز الحاجة إلى أدوات فعالة لتنزيل المحتوى من الإنترنت بطريقة موثوقة وسريعة. هنا يأتي دور أمر wget، ذلك العملاق الصامت الذي ظل لسنوات عديدة أحد أكثر الأدوات استخدامًا بين مطوري الويب ومسؤولي الأنظمة ومحللي البيانات على نظام لينكس.

تم تطوير wget لأول مرة في عام 1996 بواسطة Hrvoje Nikšić، ومنذ ذلك الحين أصبحت جزءًا أساسيًا من مجموعة أدوات أي مستخدم لينكس. تكمن قوة wget في بساطتها وفعاليتها – فهي لا تحتاج إلى واجهة مستخدم رسومية، ويمكن تشغيلها من خلال سطر الأوامر بسهولة، مما يجعلها مثالية للاستخدام في السكربتات والعمليات المؤتمتة.

الكثير منا يحتاج يوميًا إلى تنزيل ملفات من الإنترنت – سواء كان ذلك تحديثات برمجية، مجموعات بيانات للتحليل، أو حتى صفحات ويب كاملة للرجوع إليها لاحقًا. قد تفكر: “لماذا لا نستخدم المتصفح للقيام بذلك؟” الجواب ببساطة هو أن wget يوفر تحكمًا ودقة لا يمكن للمتصفحات العادية أن تقدمهما.

أساسيات استخدام أمر wget

wget هو أداة سطر أوامر مجانية لتنزيل الملفات من الشبكة باستخدام بروتوكولات HTTP وHTTPS وFTP. تم تصميم wget ليكون قويًا في البيئات غير المستقرة أو البطيئة، حيث يمكنه استئناف التنزيلات المتعثرة – ميزة لا تقدر بثمن عند التعامل مع ملفات كبيرة أو اتصال إنترنت غير مستقر.

للتأكد من وجود wget على نظامك، يمكنك تنفيذ:

which wget

ولمعرفة الإصدار المثبت:

wget --version

أبسط صيغة لاستخدام wget هي:

wget [file link]

سيقوم هذا الأمر بتنزيل الملف من الرابط المحدد إلى الدليل الحالي، مع عرض شريط تقدم يوضح نسبة الإنجاز، سرعة التنزيل، والوقت المتبقي. يمكن مقارنة wget بآلة تنزيل ذكية تعمل في الخلفية، لا تشتت انتباهك بواجهة معقدة، بل تركز على أداء مهمتها بكفاءة عالية.

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

يأتي wget مع مجموعة غنية من الخيارات التي تتيح لك التحكم في عملية التنزيل. دعنا نستكشف أهمها:

خيار -O: لتحديد اسم الملف المحفوظ:
wget https://example.com/file.zip -O custom_name.zip

خيار -P: لتحديد مسار الحفظ:
wget https://example.com/file.zip -P ~/downloads

خيار `-c`: لاستئناف تنزيل متعثر:
wget -c https://example.com/big_file.iso

خيار -q: للوضع الصامت (بدون إخراج):
wget -q https://example.com/file.pdf

خيار vergose-: لزيادة التفاصيل المطبوعة:
wget --verbose https://example.com

استخدامات متقدمة لـ wget

يتحول wget إلى أداة لا تقدر بثمن عندما يتعلق الأمر بالمهام المعقدة مثل:

تنزيل مواقع ويب كاملة بشكل متكرر للنسخ الاحتياطي أو قراءتها لاحقًا:

wget --mirror --convert-links --adjust-extension --page-requisites --no-parent https://example.com

في هذا المثال:
1. –mirror يقوم بعمل نسخة مرآة كاملة للموقع
2. –convert-links يحول الروابط للتنسيق المحلي
3. –adjust-extension يضيف امتدادات الملفات المناسبة
4. –page-requisites ينزيل كل المطلوب لعرض الصفحة (صور، أنماط…)
5. –no-parent يمنع التنزيل خارج الدليل الرئيسي

تنزيل مجموعة من الملفات بنمط معين:

wget https://example.com/files_{1..10}.jpg

أو باستخدام قائمة محفوظة في ملف:

wget -i download_list.txt

التعامل مع بروتوكولات مختلفة

لا يعمل wget مع HTTP/HTTPS فقط، بل يدعم أيضًا:

تنزيل عبر FTP مع اسم مستخدم وكلمة مرور:
wget --ftp-user=USERNAME --ftp-password=PASSWORD ftp://example.com/file.zip

تحديد عدد المحاولات عند الفشل:
wget --tries=10 https://example.com/unstable_file

يمكنك أيضًا التحكم في سرعة التنزيل لمنع استهلاك كامل عرض النطاق الترددي:

wget --limit-rate=200k https://example.com/large_file

حلول مشكلات شائعة

أحيانًا تواجه بعض التحديات عند استخدام أمر wget، إليك كيفية التغلب عليها:

شهادة SSL غير موثوقة:
wget --no-check-certificate https://example.com

المواقع التي تتحقق من وكيل المستخدم:
wget --user-agent="Mozilla/5.0" https://example.com

مواقع التي تتطلب مصادقة:
wget --http-user=USER --http-password=PASS https://example.com/protected

التنزيل من مواقع تقيد الوصول:
wget --referer=https://parent-site.com https://restricted-site.com/file

أتمتة المهام باستخدام wget

قوة wget الحقيقية تظهر عند استخدامه في السكربتات:

مثال لسكربت نسخ احتياطي يومي:

#!/bin/bash
BACKUP_DIR="/backups/$(date +%Y-%m-%d)"
mkdir -p $BACKUP_DIR
wget --mirror --convert-links --no-parent --directory-prefix=$BACKUP_DIR https://example.com

مثال لمراقبة تغييرات الملف عبر cron:

0 * * * * wget -q --spider https://example.com/status -O - | grep -q "OK" || echo "Alert" | mail -s "Site Down" admin@example.com

لقد استكشفنا في هذا الدليل الشامل القوة الحقيقية لأداة wget في نظام لينكس. بدءًا من الاستخدامات الأساسية مثل تنزيل ملف مفرد، وحتى الميزات المتقدمة مثل تنزيل مواقع ويب كاملة وأتمتة مهام التنزيل المعقدة.

المراجع

1. الصفحة الرسمية لـ GNU Wget

2. دليل المستخدم الرسمي

3. كتاب “Linux Command Line and Shell Scripting Bible”

4. وثائق أوبونتو لأدوات سطر الأوامر

ماهر المخلوفي
ماهر المخلوفي

تونسي من مواليد 1993، متحصّل على شهادة تقني سامي في إعلامية التصرف. أعمل كمطور ويب منذ 2016، وباحث شغوف في مجال تكنولوجيا المعلومات، أقدم محتوى يعكس خبرتي و كل ما تعلمته بطريقة مبسطة و سلسة لكل من يستحق معلومة في المجال. أمتلك وأدير عدة مواقع إلكترونية، وأجمع بين حبي للفنون وقراءة الكتب العلمية والفكرية و الدينية . أتطوع بحسب إمكانياتي لإثراء و دعم المجتمع التقني العربي بدرجة أولى و العالمي بدرجة ثانية .

المقالات: 43