إنضمامك إلي منتديات استراحات زايد يحقق لك معرفة كل ماهو جديد في عالم الانترنت ...

انضم الينا
استراحات زايد الصفحة الرئيسية

         :: تفسير رؤية الجن في المنام (آخر رد :نوران نور)       :: مراقبة أنماط استهلاك المياه (آخر رد :اسماعيل رضا)       :: تسرب المياه في المنشآت الصناعية (آخر رد :اسماعيل رضا)       :: احدث موديلات شنط سيلين,اجمل موديلات شنط سيلين,ارخص اسعار شنط سيلين الاصلية (آخر رد :بوابة الصين العربية)       :: تفسيرحلم سقوط الأسنان في اليد (آخر رد :نوران نور)       :: قهوجيات جدة صبابين قهوة مباشرين قهوه ضيافة قهوة 0552137702 (آخر رد :ksa ads)       :: تفسير حلم وضع الحناء على الشعر (آخر رد :نوران نور)       :: تفسير أحلام الحمل بتوأم في أحلام المرأة المتزوجة التي لديها أطفال (آخر رد :نوران نور)       :: تفسير رؤية الشوك في المنام للمتزوجة (آخر رد :نوران نور)       :: الذهاب الى مكة في المنام (آخر رد :نوران نور)      

إضافة رد
 
LinkBack أدوات الموضوع انواع عرض الموضوع
  #1  
قديم 04-11-2009, 03:40 AM
عضو ماسي
بيانات محروم.كوم
 رقم العضوية : 503
 تاريخ التسجيل : Dec 2007
الجنس : female
علم الدوله :
 المشاركات : 2,100,613
عدد الـنقاط :3341
 تقييم المستوى : 2139

سلام عليكم

اليوم ان شاء الله ابدا معاك فى شرح بسيط عن البرمجه على السرفرات

طبعا طريقه الشرح دي انا اللى مخترعها مقصدش حقوق الملكيه لكن اقصد ان لو فيها اخطاء معليش

اعذروني انا أول مره اشرح حاجه بالشكل ده

فى الاول لما بنيجي نعمل سكربت شيل لازم يكون الفكره واضحه فى دماغك وانت راسمها يدويا كدا

وفاضل انك تكتب الكود ده يعتبر نص الشغل

يعني لو قولنا ان اننا عايزين سكربت يغير بسوردات المواقع كلها مره وحده ويبعتهالك

الخطوات بالبلدي كدا

نعرف اليوزرات كلها
نشوف هنعمل عليهم عمليه كل واحد ازاى
هنغير البسورد
نعرض البسورد اللى اتغير
نبعتها على الميل مثلا

بس علشان نعمل كدا لازم نفهم الشل سكربت ده بيشتغل ازاى

هنتكلم عن شويه حاجات مهمه


المتغيرات var
loops مش عارف معانها بالعربي الصراحه
الFunctions الدوال
الخوارج والمداخل وشويه عك كدا



المتغيرات الاول

دلوقتي انت عايز تعمل عمليه على نتيجه امر معين

يعني عايز تعمل عرض لأسماء اليوزرات الموجوده فى الموقع بطريقه الشيل سكربت

هتقوله ان اليوزرات مثلا بتجبهم بالامر ده

cat /etc/passwd | cut -d : -f1

فكره المتغير انه ياخد النتيجه دي يحزنها ولما تنادي عليه يعرضها

انت ممكن تقول

users=`cat /etc/passwd | cut -d : -f1`

كدا لما تكتب

echo $users

هيقوم جاي عارض لك كل اليوزرات

سيبك من شكل الأمر المطلوب دلوقتي فكره المتغير توصل لكم وهيا عموما زيها زي باقي لغات البرمجه بس لذيذه موت

لما تحب تعمل متغير اما بيكون بقيمه انت بتحطها او بيكون نتيجه أمر

حاجه ثابته تقوله مثلا

backup=/home/backup/4me

علشان لو عايز تستخدمه كتير بعد كدا ومش كل شويه تكتب المسار وعلشان متغلطش فيه كمان وعلشان يكون سهل التغير بعد كدا مش هتغير فى كل سطر موجود فيه الكلام ده

وممكن يكون نتيجه أمر كأن يكون


root@xen6 [~]# myos=` cat /etc/redhat-release`
root@xen6 [~]# echo $myos
CentOS release 5.2 (Final)
root@xen6 [~]#

احنا قولنا له ان المتغير اللى اسمه myos بيساوي ناتج الأمر بتاع cat /etc/redhat-

لو في اي حاجه فى المتغير قولولي لان البرمجه دي بتقوم بشكل قاعده الهرم كدا لو مفهمتش الأساس مش هتعرف تكمل ودي من الأساسيات


الLoops هو جوجل ترجمها بالعربي بالحلقات المهم انا هشرحها

بص يا سيدي لو انت مثلا عندك وظيفه واحده او عدة وظائف عايز تنفذها على كذا عنصر

مثلا عايز تحذف كل مجلد اسمه محمد من كل فلورد موجود جوه الهوم

وعايز تنفذ القصه دي بالشيل اسكربت هتعمل ايه

فيه طريقه بتعمل بيها العمليه على العنصر بشكل تسلسلي هنستخدم حاجه اسمها for

القانون بتاعها بيتكتب كدا

for var in command do
commands to be done
done

لكل var القادم من ناتج command
افعل كذا وكذا
تم

نقول بشكل عملي شويه

for x in `cat /etc/passwd ` do;
echo $x
done

بنقوله ان لكل قيمه تخرج من امر cat /etc/passwd والقيمه بتتحسب بالسطر
اعمل echo $x يعني اعرضه
وخلاص done

المتغير اللى اسمه x ده المحتوي بتاعه هو القيمه الخارجه من الأمر
هنعمل احنا عرض لكل سطر

ممكن بئا تعمل اي حاجه فى النص مثلا باك اب لكل ملفات الhome

تقوله

for يعني لكل
x اسم المتغير وممكن يكون اي عفريت تاني يعني x y z
in يعني في
ls /home/ محتوي ملفات الهوم
do يعني افعل الآتي
tar -czf $x.tar.gz $x يعني اعمل باك اب لكل مسار فى ملف بنفس الاسم على نفس المسار

نكتبه بشكل ينفع للشيل هنقوله

for x in `ls /home/` ;do
tar -czp $x.tar.gz $x
done

وفي كذا loop بئا

do while افعل كذا بينما القيمه الفلانيه بتساوي كذا دي هنشرحها ادام شويه

الدوال functions

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

طريقه كتابه القانون بتاعها كدا
function zeko {
ls /tmp
ls /var/log
mount
df -h
}

الكلمه الاولانيه انت بتقول للنظام ان الكلام اللى جاي ده داله علشان ميفهمكش غلط ويبهدل الدنيا

زيكو ده اسم الدالة ان شاء الله

الأقواس دي طريقه الكتابه كدا تفتح القوس وتكتب اللى انت عايزه وبعدين تقفله بس أقواس من النوع ده

الكلام اللى في النص دي الأوامر اللى هتتنفذ لما تستدعي الدالة دي

وتستعديها ازاى

تكتب اسمها وخلاص

zeko

لو كتبتها فى الشيل هتلاقيه نفذ الكلام اللى جوه

اسم الداله انت حر تقدر تسميه ايه حاجه بس يكون حروف سمول فقط

الكلام اللى جوه اكتب اى امر انت عايزه

الدوال عموما حاجه زي المتغيرات بس بشكل متقدم شويه


الدواخل والخوارج والعك بئا

بص يا سيدي فى النظام فى تلت مخارج للأمر بتاعك لما بتنفذه او تلت أنفاق

لما بتكتب مثلا

ls /root /rooty

اللى انا عملت اني استخدمت الامر ده علشان يعرض ليا الملفين دول

الاول موجود والتاني مش موجود

الامر ده بيروح للكرينال وهيا اللى بترد وبترد بئا الكرينال دي على تلت أنفاق

حاجه اسمها

stdin
stdout
stderr

الأول ده بيطلع فيه النواتج الصحيحه
التاني ده بيكون فيه المداخل وهنشرحها فى باقي الدرس ان شاء الله
التالت ده المخرج بتاع الخطا

ولما تحب تحول الناتج بدل ما يطلعلك على الشاشه تقوله < دي معناها حول اللى طالع فى المكان الفلاني

ls /root /rooty > tmp/myls

هتلاقي فى الملف ده ناتج الأمر الاول بس
لكن الأمر التاني هو طلع من نفق الغلط وده بيكون فى 2>

بكدا بنكون وصلنا لنهايه حلقتنا انهاردا وان شاء الله نكمل باقي الدرس

هنشرح فيه
2>
/dev/null
positional parameter

وهنعمل سكربت يعمل اى فكره بسيطه حد يقترحها علينا

اسف على طريقتي العاميه فى الكتابة

سلام عليكم
__DEFINE_LIKE_SHARE__
رد مع اقتباس
إضافة رد

مواقع النشر (المفضلة)


تعليمات المشاركة
لا تستطيع إضافة مواضيع جديدة
لا تستطيع الرد على المواضيع
لا تستطيع إرفاق ملفات
لا تستطيع تعديل مشاركاتك

BB code is متاحة
كود [IMG] متاحة
كود HTML معطلة
Trackbacks are متاحة
Pingbacks are متاحة
Refbacks are متاحة


المواضيع المتشابهه
الموضوع كاتب الموضوع المنتدى مشاركات آخر مشاركة
Attempted cross-site scripting attack! محروم.كوم منتدى أخبار المواقع والمنتديات العربية والأجنبية 0 10-30-2009 05:30 AM
VB Scripting Issue? محروم.كوم منتدى أخبار المواقع والمنتديات العربية والأجنبية 0 09-17-2009 11:40 AM
3.8.4 Scripting Error in VB.NET WebBrowser Control محروم.كوم منتدى أخبار المواقع والمنتديات العربية والأجنبية 0 08-20-2009 05:50 PM
[شرح] : ترقيع ثغره جديده في منتديات 3.8.2 .. vBulletin 3.8.2 adminCP Cross-Site Scripting محروم.كوم منتدى أخبار المواقع والمنتديات العربية والأجنبية 0 04-17-2009 12:00 AM
اساسيات لتحصل على بيت مرتب !! صدى السنين- الهاملية اثاث و ديكور المنازل والمطابخ والصالات 8 12-13-2008 09:52 PM


الساعة الآن 10:23 PM


Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO 3.5.2 TranZ By Almuhajir

RSS RSS 2.0 XML MAP HTML