تغييرات

اذهب إلى التنقل اذهب إلى البحث
سطر 77: سطر 77:  
===توصيل المداخل والمخارج plumbing===
 
===توصيل المداخل والمخارج plumbing===
   −
1 فهم مفاهيم stdin و stdout
+
*يبدأ الميسر بسؤال المتدربين عن معنى مصطلح plumbing فى الطبيعى؟ وتوضيح مدى استخدام الفكرة لعامة لها داخل الـ shell.
        1.1 المدخل الإفتراضي للبرامج (stdin (0
+
ثم يبدأ بشرط مفهوم توصيلات الافتراضية الثلاثة للبرامج و مناقشة تفاصيل كل منها.
        1.2 المخرج الإفراضي للبرامج (stdout (1
  −
        1.3 المخرج الإفتراضي للأخطاء (stderr(2
     −
2 تغيير المدخل والمخرج الافتراضي
+
(إجابة إسترشادية) معظم البرامج لها ٣ توصيلات إفتراضية ( stdin و stdout و stderr ).
            2.1 إختبارال plumbing باستخدام الأمر cat
+
#المدخل الإفتراضي للبرامج (stdin (0  و عادة ما يكون موصول بلوحة المفاتيح.
            2.2 ما هو ال Ctrl-D  (^D) ؟؟
+
#المخرج الإفتراضي للبرامج (stdout (1 و عادة ما يكون موصول بالشاشة.
            2.3 إختبارال plumbing باستخدام الأمر sort
+
#المخرج الإفتراضي للأخطاء  (stderr (2 و عادة ما يكون موصول بالشاشة.
            2.4 إعادة توجيه المخرجات “>”
  −
            2.5 إعادة توجية المدخلات “<”
  −
            2.6 إعادة التوجية الغير ماحي Non-destructive redirection “>>”
      +
*يمكن للميسر توضيح الفكرة بفتح نافذة سطر الأوامر شرح أمثلة:
 +
cat $
 +
(إجابة إسترشادية) بكتابة أمر cat يتمكن المستخدم من من كتابة نص باستخدام لوحة المفاتيح و عند الضغط على زر الإدخال يتم عرض النص المكتوب على الشاشة.
 +
وعلى هذا المثال يمكن للميسر سؤال المتدربين عن الوصلات الافتراضية لبرنامج الـ cat فى هذه الحالة؟
   −
>
+
 
<
+
*ثم يسأل الميسر أيوجد طرق لتغير تلك الوصلات الافتراضية؟ و ما الحالات التى تدعى تغيير وصلة افتراضية معينة لبرنامج معين؟
>>
+
 
1>
+
(إجابة إسترشادية) يمكن فعلا من تغيير الوصلات الافتراضية للبرامج بل عمل وصلات جديدة عن طريق استخدام إعادة التوجيه redirection.
2>
+
 
0<
+
*يستكمل الميسر شرحه بأمثلة على الحالات التى تدعى تغيير وصلة افتراضية معينة لبرنامج معين:
 +
 
 +
*مطلوب فى هذا المثال عرض محتويات مجلد ما داخل ملف معين:
 +
ls -lai courses > courses.txt $
 +
(إجابة إسترشادية) علامة الأكبر من < : تستخدم لتغيير المخرج لبرنامج الإفتراضى stdout إلى ملف معين.
 +
فبدلا من عرضه على الشاشة تم عرضه داخل ملف.
 +
   
 +
*مطلوب فى هذا المثال عرض محتويات ملف ما على الشاشة:
 +
cat < courses.txt $
 +
أو
 +
cat courses.txt $
 +
(إجابة إسترشادية) علامة الأصغر من > : تستخدم لتغيير المدخل لبرنامج الإفتراضى stdin لبرنامج معين.
 +
(ملحوظة) الحلان يعطيان نفس النتيجة فكما موضح فى الحل الثانى أن أمر cat تستخدم إعادة التوجيه بصفة إفتراضية.
 +
 
 +
*مطلوب فى هذا المثال عرض رسالة خطأ فى ملف أخر إذا ما حدث خطأ:
 +
ls -lai courses 2> errors.txt $
 +
(إجابة إسترشادية) علامة <2 : تستخدم لتغيير مخرج لبرنامج الإفتراضى stderr إلى ملف معين.
 +
   
 +
ثم يقوم الميسر بوضح مثال عالى المستوى لحث المتدربين على البحث للوصول لإجابات مختلفة إن أمكن.
 +
مثلا:
 +
*مطلوب فى هذا المثال عرض محتويات مجلد ما داخل ملف معين دون مسح البيانات الوجودة داخل الملف و عرض رسالة خطأ فى ملف أخر إذا ما حدث خطأ:
 +
حل توضيحى:
 +
ls -ail Templates/ >> app.txt 2>> err.txt $
    
===الأنابيب Pipes===
 
===الأنابيب Pipes===
15

تعديل

قائمة التصفح