تعالوا نلعب !

السلام عليكم و رحمة الله و بركاته

إزيكوا يا شباب ؛ إيه رأيكم في لعبة بسيطة و برده منها فايده …
هسأل سؤال (في اللينيكس) و اول واحد يجاوب صح هيكون عليه الدور يضع سؤال جديد … و هكذا

قوانين اللعبة :
1- السؤال في أي حاجة تخص اللينيكس (أوامر ؛ ملفات ؛ تصاريح ؛ سيرفرات … إلخ)
2- السؤال يكون بفايده ؛ يعني صاحب السؤال مطالب بعرض شرح و لو بسيط عند طرح الإجابة الصحيحه.
3- أقصي مدة للإجابة يومين ؛ و يتفصل صاحب السؤال يعرض الإجابة الصحيحه (لو تأخر عن يومين ؛ مش هنلعب معاه تاني ddd) و في الحالة دي اللي قبله يضع سؤال جديد و نستمر …
4- مسموح لصاحب السؤال يضع Hint للأجابة. << ده recommended بصراحه :slight_smile:

بسم الله ؛ آدي السؤال رقم (1)

ما فائدة الأمر التالي :

echo $?

حاجه سهله علشان الناس تشارك ؛ و آدي الــ Hint :
Google : Linux commands Exit status

خليها تكون مسابقة بسيطة بين الشباب
يثبت الموضوع و خلي الشباب يسخنوا اللعبة

طباعه او كتابه , ولايكتب لوحده يعني بإمكانك كتابت رابط لأحد المخاازن بملف المخاازن من الطرفيه عبر هذا الامر << مجرد اجتهااد

لا لآ … مش بسيطه
لك عليا لو هرجع تاني لأكون صاحب السؤال هعرض أسئله أصعب من كده بكتير :slight_smile:
أنا بس قولت أبدء بالسهل.

لا يا أخي …
إجابتك معناها إستخدام الأمر echo في إضافة مخزن جديد لــ sources.list بس أنا مش بسأل علي echo
أنا سؤالي هو ما الفائده أو الغرض من الأمر السابق ذكره في المشاركة الأولي …

هههه والله جميله اللعبه اهنيك عالفكرة الحلوة …
انا مش حشارك ليوم السبت اشان علي امتحان بس حساعد الشباب …
انت حاطط نص الجواب بال hint ههه … بالاضافه انك تضع هذا الامر ك exit status == اي حاله تنفيذ الامر بعد الانتهاء من تنفيذه … يعني تشوف اذا تنفيذ الاوامر … … … … . … . … . … … …
اعتقد وصلتكم شباب يلا شدو عليه ههه

اذا ما عرفتو لسا شوفو هنا http://bash.cyberciti.biz/guide/The_exit_status_of_a_command

… موفقين …

تم الرد أضن بإجاية صحيحة

وش فايدة الامر

grep

:d

رايح أسهل عليكم

cat /etc/shadow | grep root

[RIGHT]يا جدعان إنتوا مش ماشيين ع القوانين اللي قولناها … بس علشان اللعبة تستمر أنا هكمل

@ injector : يا أخي أنا كتبت Hint يعني بلاش توضيح أكتر من كده إلا لو السؤال نفسه مش واضح ! … لولا إن Jago دخل في الموضوع كنت هورطك إنت في السؤال التاني بس خلاص عشان دراستك … ربنا معاك :slight_smile:

@ Jago : باشا إنت قرأت القوانين كويس ؟! المفروض إن صاحب السؤال يعلن الإجابة الصحيحه و بعدين اول واحد جاوب صح هو اللي عليه الدور … و هكذا … ما علينا ؛ أنا هجاوب علي سؤالي عشان لو لسه فيه حد من الشباب ميعرفش الإجابة الصح مع إن أخونا The injector وضحها زياده ع اللزوم :

الأمر


echo $? 

وظيفته عرض الــ exit status للأمر السابق. و هي قيمة بتعبر عن صحة تنفيذ الأمر من عدمه. بمعني إنك بتعرف هل آخر أمر كتبته قبل هذا الأمر تم تنفيذه بنجاح و الا لآ. إفتراضيا القيمة 0 معناها إن الأمر إتنفذ بنجاح أما أي قيمة تانية غير الــ 0 معناها إن الأمر ما إتنفذش بنجاح … و هي مفيده في كتابة الــ shell script … مثال :


#!/bin/bash
COMMAND_0
EXIST_STATUS=$?
if [ $EXIST_STATUS -eq 0 ];then
   COMMAND_1
else
   COMMAND_2
fi

في المثال ده لو الأمر COMMAND_0 إتنفذ تمام فبالتالي الأمر COMMAND_1 هو اللي هيتنفذ. أما لو الأمر COMMAND_0 حصل فيه خطأ في التنفيذ فبالتالي الأمر COMMAND_2 هو اللي هيتنفذ. أرجوا إن الأمر يكون واضح و وظيفته مفهومة.

هجاوب علي سؤال Jago-dz :
الأمر grep وظيفته البحث عن string في الــ INPUT و الخرج بيكون “السطر” اللي بيحتوي الــ string دي. بمعني إن الأمر grep root /etc/shadow وظيفته البحث عن كلمة root في الملف etc/shadow و في حالة وجودها بيعرض السطر بالكامل اللي فيه كلمة root ؛ و ممكن نستخدمه في الــ piping “صورة الأمر اللي كتبه Jago” … و للعلم بالشيء هناك أمر في الــ MS DOS وظيفته نفس وظيفة الــ grep و هو الأمر find … أرجوا إن إجابتي تكون صح ؟؟؟ في إنتظار رد أخونا Jago-dz … :slight_smile:
[/RIGHT]

صحيح كلامك يا حج ddd

لاكن نرجواا من كل واحد أن يرد علي السؤال دون الدهاب الي قوقل

وهاهي الصورة من تجهازي توضح الكلام بالنسبة للسؤال الاول والثاني

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

echo $?

أعطاني النتيجة 0 معناه أخر أمر تنفد صحيح

طبعت الامر sec4ever

أعلم أنه غير موجود في النضام لاكن علي مطورين التوزيعة وضع الامر sec4ever ddd

طبقت الامر

echo $?

أعطاني الرقم 127

بمعني ان الامر لم يطبق جيدااا

وبعدهاا طبقت الامر الي وضعته انا

cat /etc/shadow | grep root

بتصريح الروت لازم

وكمااا تشوفوا تم وضع السطر كامل الي فيه الاسم root

كماا وضحه الاخ فوق ddd

نترك الشباب بيوضعواا اوامر أخري :stuck_out_tongue:

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

echo $?
تعيد 0 اذا كان الامر الذي سبقها تطبق تطبيقا صحيحا
شوف مثلا طبق الامر ls ثم الامر echo $?
راح يطلع لك 0

تعيد 1 اذا لم يتم تطبيق الامر الذي سبقها نطبيقا صحيحا

هناك مجموعة اخرى من الارقام يعيدها مثل المثال اللي ادخله امين
sec4ever امر غير موجود ابدا فاعاد له 127

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

بالتوفيق للجميع و ان شاء الله تسخن المسابقة اكثر

تحياتي

السؤال رقم (3)
ما هي وظيفة الأمر التالي :

 ls !$

أضن بيعطيك أخر أمر عرضته علي الترمينال يعني أخر أمر نفذته ddd

root@jago-P4M900T-M2:/home/jago# ls !$
ls jarsigner
ls: cannot access jarsigner: No such file or directory
root@jago-P4M900T-M2:/home/jago#

والله أعلم ادا أنا صحيح :stuck_out_tongue:

[b]^

لا يا أخي ؛ إجابتك ليست صحيحه …
[/b]

root@raymonserver [/]# ls !$
ls /
./             backup/    etc/      mnt/       root/             srv/
../            bin/       .forward  ncftp@     sbin/             sys/
aquota.group@  boot/      home/     ncftpget@  scripts/          tmp/
aquota.user@   .cpanel/   lib/      ncftpput@  selinux/          usr/
.autofsck      dev/       lib64/    opt/       setup_chk_script  var/
.autorelabel   error_log  media/    proc/      .spamassassin/
root@raymonserver [/]#


عرض محتويات المجلد الحالي

[b]لا يا أخي ؛ …

Hint: check your last argument
[/b]

يريت بى العربي أخي لغة الأصل

[root@vps ~]# cat /etc/issue
CentOS release 5.5 (Final)
Kernel \r on an \m

[root@vps ~]# ls !$
ls /etc/issue
/etc/issue
[root@vps ~]#

هذه نتيجة سيرفر تاني :slight_smile:

إضهار أخر ملف تم تشغيله :rolleyes:

[RIGHT]عندك حق …
سيبك من الأمر ls ده مفروغ منه و معروف بيعمل إيه.

المهم هو الــ variable اللي هو : !$
ده كنت بشوفه في بعض إسكريبتات و معرفش معناه إيه … :confused:

كلمة argument معناها المدخلات بتاعة الأمر …
مثلا : الأمر
grep root /etc/shadow
الــ argument هنا هو الملف /etc/shadow

الــ Hint بالعربي : لاحظ وظيفة الأمر و علاقتها بآخر argument كتبته …
[/RIGHT]

عذرا يا أخي ؛ إجابتك صح … معلش ما خدتش بالي من السطر ده :slight_smile:
الأمر ls بيعرض محتويات المجلد و لو بيتنفذ علي ملف من غير معاملات يبقي كأنك بتعمل echo بالظبط
المهم في السؤال هو المتغير !$ و ده بياخذ قيمة آخر argument … “اللي ظاهر عندك الملف /etc/issue”

المفروض إنت اللي تحط السؤال … المايك معاك يا Raymon …

أهلا شباب

قى كل نضام فيه مجلدات معينة يستخدمها النظام

السؤال هو شو فيدة مجلد etc فى unix؟

اضن يا ريمون أن المجلد هاد فيه أغلب ملفات تكوين النضام

مثال

dhcp.conf
group
motd …

اهلا بيك حبوبي ياسين
سؤالك سهل و بسيط
راح اجيب عنه ببساطة على تعريف الاستاذ علي الشمري
يحتوي على ملفات اعدادات خاصة بالنظام والكثير من البرامج والخدمات.
كما انه يشبهه مرة في احد الكتب بانه مثل المسمى Registry في نظام الوندوز :slight_smile:
تحياتي لك حبيبي و ننتظر تعليقاتك على جوابي