0Pricing
Ansible Academy · درس

تشغيل أوامر Shell باستخدام command وshell

نفّذ أوامر عشوائية على العُقد البعيدة

تشغيل أوامر Shell باستخدام command وshell درس مجاني في Ansible Academy على CoddyKit. هذا هو الدرس 3 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Ansible Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Ansible Academy 4 دروس في المجموع.

تنفيذ أوامر حقيقية عن بُعد

قد تحتاجون أحيانًا إلى تنفيذ أمر خام على خوادمكم. يوفّر Ansible وحدتين لذلك: command وshell. 🖥️

وحدة command

تشغّل وحدة command برنامجًا مباشرةً على المضيف البعيد. وهي الخيار الافتراضي الآمن للأوامر البسيطة والمنفردة.

ansible all -m command -a "uptime"

تتجاوز command shell

لأن command تعمل من دون shell، فهي تتجاهل الأنابيب وعمليات إعادة التوجيه والمتغيرات مثل $HOME. وهذا يجعل سلوكها متوقعًا وآمنًا.

ansible all -m command -a "ls /etc"

وحدة shell

تشغّل وحدة shell الأمر عبر shell حقيقي على المضيف، ولذلك تعمل الأنابيب وعمليات إعادة التوجيه والمتغيرات جميعًا.

ansible all -m shell -a "cat /etc/*release"

تحتاج الأنابيب إلى shell

عندما يستخدم أمركم أنبوبًا أو إعادة توجيه، استخدموا shell. فستتعامل وحدة command مع | على أنه وسيطة عادية فحسب.

ansible web -m shell -a "ps aux | grep nginx"

متغيرات البيئة في shell

توسّع وحدة shell المتغيرات وحدها. استخدموها عندما يعتمد أمركم على شيء مثل $HOME أو $PATH.

ansible all -m shell -a "echo $HOME"

فضّلوا command متى أمكن

استخدموا command افتراضيًا، ولا تستخدموا shell إلا عند الحاجة الفعلية إلى ميزات shell. فكلما قلّ استخدام shell، قلت المفاجآت.

التنفيذ في مجلد باستخدام chdir

تقبل الوحدتان chdir للانتقال إلى مجلد قبل التنفيذ، وهو أسلوب أنظف من استخدام cd داخل الأمر.

ansible app -m command -a "chdir=/srv git pull"

منع التكرار باستخدام creates

يتخطى الخيار creates الأمر إذا كان ملف معين موجودًا بالفعل، وهي طريقة بسيطة لتجنب تكرار العمل.

ansible app -m command -a "touch /tmp/done creates=/tmp/done"

إنهما غير متوافقين مع التكرار الآمن

تبلّغ الوحدتان عن changed في كل تشغيل، لأن Ansible لا يستطيع معرفة ما فعله أمركم الخام. فضّلوا الوحدات الفعلية متى توفرت.

خيار أخير لا أول

تعاملوا مع shell وcommand كحلول اضطرارية. فإذا كانت هناك وحدة مخصصة مثل service أو package، فاستخدموها بدلًا منهما لنتائج أكثر أمانًا.

فحص سريع

تحتاجون إلى تنفيذ أمر يستخدم أنبوبًا. أي وحدة تختارون؟

مراجعة

استخدموا command للأوامر العادية، وshell عندما تحتاجون إلى الأنابيب أو المتغيرات. تذكّروا أن كلتيهما تبلّغان دائمًا عن changed. 🖥️

الأسئلة الشائعة

هل درس «تشغيل أوامر Shell باستخدام command وshell» مجاني؟

نعم — نص درس «تشغيل أوامر Shell باستخدام command وshell» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Ansible Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Ansible Academy 4 دروس في المجموع.

ماذا ستتعلم في «تشغيل أوامر Shell باستخدام command وshell»؟

نفّذ أوامر عشوائية على العُقد البعيدة تتمرن على Ansible Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Ansible Academy؟

لا تُشترط خبرة سابقة. Ansible Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 3 من أصل 4.

كم من الوقت يستغرق درس «تشغيل أوامر Shell باستخدام command وshell»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس Ansible Academy هذا؟

نعم. كل درس في Ansible Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. تشريح الأمر ansible
  2. الأنماط: استهداف all وweb وhost1
  3. تشغيل أوامر Shell باستخدام command وshell
  4. تصعيد الامتيازات باستخدام become
← العودة إلى Ansible Academy