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

وحفاظاً على ترتيب نظام الملفات وتجنب خلط ملفات التجارب بالبيانات الشخصية، ننشئ مساراً معزولاً ومستقلاً لتخزين البيانات ثم ننتقل إليه مباشرة:

عند استدعاء أمر wget متبوعاً بعنوان URL المستهدف، تتولى الأداة التفاوض مع خادم الويب وحفظ الملف بصيغته الأصلية ضمن الدليل الذي تقف عليه حالياً.
إذا لم يتم تمرير أي محددات إضافية، ستعتمد الأداة التسمية المصدرية للملف كما هي معرفة في عنوان الرابط.
⚙️ [نظرة سريعة على أهم معلمات التحكم]:
-O : إعادة تسمية الملف المحفوظ أو تحديد مساره واسمه الجديد بالكامل.-c : إكمال نقل البيانات غير المكتملة دون البدء من نقطة الصفر بعد أي انقطاع.-b : فصل جلسة التنزيل وجعلها تعمل كخدمة فرعية مستقلة في الخلفية (Background Mode).-i : استيراد قائمة روابط مجمعة من ملف نصي وتنزيلها تباعاً.--limit-rate : ضبط سقف استهلاك النطاق الترددي للشبكة تفادياً لاختناق الاتصال.-q : تفعيل وضع الصمت التام، حيث يتم تعطيل كافة المخرجات ونسب الإنجاز على الشاشة.-r : التتبع المتكرر للأدلة والصفحات لجلب البنية الكاملة لموقع أو دليل بصورة هرمية.

التحكم باسم الملف (-O) وتوجيه مكان التخزين (-P)
نستهل هذا الجزء بالدخول مجدداً إلى مسار العمل الاختباري (~/wget_test) الذي خصصناه سابقاً:

في كثير من السيناريوهات التشغيلية، قد ترغب في حفظ الملف باسم أوضح من الاسم الموجود على الخادم البعيد. يتيح الخيار -O إعادة تسمية المورد المستلم مباشرة إلى custom_sample.dat:

الآن سنقوم بإنشاء مجلد فرعي داخل بيئة الاختبار (~/wget_test/downloads) لتنظيم التنزيلات القادمة وفصلها:

بدلاً من تغيير مكان العمل الحالي عبر الطرفية، يمكّنك المعامل -P من توجيه الحفظ مباشرة إلى المسار الفرعي (~/wget_test/downloads) دون مغادرة دليلك الحالي:

للتأكد من سلامة النتائج ومراجعة التغييرات المجراة، نستعرض محتويات المسارين وتفاصيل أحجام الملفات عبر الأمر ls -lh:

استكمال التنزيلات المبتورة (-c) عند التعامل مع أحجام ضخمة
نبدأ أولاً بالتحقق من وجودنا داخل بيئة الاختبار (~/wget_test) لمباشرة محاكاة السيناريو التالي:

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

عبر فحص الملف المجتزأ 10Mb.dat باستخدام الأمر ls -lh، يتضح جلياً أن حجمه الفعلي لا يغطي سوى جزء ضئيل من حجمه الإجمالي البالغ 10 ميجابايت:

هنا تبرز قوة المعامل -c (اختصاراً لـ continue)؛ حيث يوجه النظام لقراءة حجم الملف المحلي والتواصل مع الخادم لجلب الأجزاء المفقودة فقط واستئناف النقل من آخر بايت مسجل دون إهدار الموارد بإعادة التنزيل كاملاً.
يعد هذا الخيار لا غنى عنه مطلقاً أثناء سحب وسائط التثبيت الضخمة وملفات النسخ الاحتياطية عند مواجهة شبكات غير مستقرة:

إدارة معدل استهلاك البيانات (–limit-rate) والعمل في الخلفية (-b)
قبل تطبيق الخيارات المتقدمة التالية، نتأكد من الوقوف في مسار التجارب (~/wget_test):

عند تنفيذ عمليات نقل على خوادم إنتاجية حية، قد يؤدي الاستحواذ الكامل على سعة الشبكة إلى بطء الخدمات الأخرى؛ لذا نستعين بالمحدد --limit-rate لتقييد سرعة السحب وتثبيتها عند 200 كيلوبايت في الثانية (200k):

إذا كنت بصدد جلب حزم أرشيفية هائلة وتخشى انقطاع اتصالك بالطرفية عبر SSH، فإن الخيار -b ينقل مهمة wget للعمل كعملية منفصلة في الخلفية فوراً.
يضمن ذلك بقاء التنزيل نشطاً حتى لو أغلقت الطرفية بالكامل، مع توجيه تفاصيل العمل ونتائجه آلياً إلى ملف سجل باسم wget-log:

نمنح النظام مهلة زمنية وجيزة قدرها ثانية واحدة عبر الأمر sleep 1 ريثما تبدأ العملية بالتفاعل وتوليد بيانات السجل في الملف المذكور:

الآن، نتحقق من حالة الاتصال الأولية وسير المعالجة بمطالعة آخر عشرة أسطر من السجل عبر استدعاء الأمر tail -n 10 wget-log:

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