الأربعاء، 14 مايو 2008

قوة الCommand Line

منذ بضع سنوات كنت اقوم بمشروع برمجي لأحد الأشخاص. و لكي يظل متابعا للعمل كنت أرسل له البرنامج أولا بأول.

و هكذا تجدني أكرر هذه الخطوات:
1- خذ نسخة من البرنامج
2- أمسح الملفات المؤقتة التي يصنعها ال Visual Studio
3- ضع الملفات في ملف من نوع .zip
4- سم الملف بإسم يحمل تاريخ اليوم
5- أرسل الملف بالبريد الألكتروني.
6- إمسح النسخة التي أخذتها.

لو كنت ساعتها أستخدم Linux, لكانت حياتي أسهل بكثير. كنت وقتها يمكنني أن أشغل script مثل هذا:

#!/bin/bash
cp -R Program ProgramCopy
cd ProgramCopy
find . -name bin -exec rm -rf '{}' \;
find . -name obj -exec rm -rf '{}' \;
zip -r ../Program`date +%d%B%y`.zip * -x \*~
cd ..
rm -rf ProgramCopy


بمجرد تشغيل هذا البرنامج, سيقوم بعمل الخطوات السابقة وحده و ستجد لديك ملفاً بإسم مثل Program12May08.zip.
طبعا لو أردت تسهيل الأمور أكثر, لكنت أضفت أسطر قليله تجعله يرسل الملف أيضا بواسطة برنامج مثل mailx.
و لو أردت المزيد من السهولة, لكنت أعددت برنامج التنفيذ الآلي cron ليقوم هو بتشغيل الscript يوميا بدلاً من أن أرهق نفسي بتشغيله, وهكذا يمكنني أن أنسى أصلا موضوع إرسال ال code و أترك الكمبيوتر يقوم بالمهمة بدلاً مني!

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

إذا كنت تنوي استخدام الكمبيوتر استخداماً جادا, فستقدم خدمة كبيرة لنفسك لو تعلمت أدوات ال Command Line و ال Shell Scripting.