في عالم يعتمد بشكل متزايد على البيانات والملفات الرقمية، تبرز الحاجة إلى أدوات فعالة لتنزيل المحتوى من الإنترنت بطريقة موثوقة وسريعة. هنا يأتي دور أمر 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 في نظام لينكس. بدءًا من الاستخدامات الأساسية مثل تنزيل ملف مفرد، وحتى الميزات المتقدمة مثل تنزيل مواقع ويب كاملة وأتمتة مهام التنزيل المعقدة.