تشغيل أوامر Shell باستخدام command وshell
نفّذ أوامر عشوائية على العُقد البعيدة
تشغيل أوامر Shell باستخدام command وshell درس مجاني في DevOps Bootcamp على CoddyKit. هذا هو الدرس 3 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في DevOps Bootcamp، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة DevOps Bootcamp 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) وفتح باقي دورة DevOps Bootcamp، انتقل إلى CoddyKit PRO. تتضمن دورة DevOps Bootcamp 4 دروس في المجموع.
ماذا ستتعلم في «تشغيل أوامر Shell باستخدام command وshell»؟
نفّذ أوامر عشوائية على العُقد البعيدة تتمرن على DevOps Bootcamp مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ DevOps Bootcamp؟
لا تُشترط خبرة سابقة. DevOps Bootcamp على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 3 من أصل 4.
كم من الوقت يستغرق درس «تشغيل أوامر Shell باستخدام command وshell»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس DevOps Bootcamp هذا؟
نعم. كل درس في DevOps Bootcamp يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- تشريح الأمر ansible
- الأنماط: استهداف all وweb وhost1
- تشغيل أوامر Shell باستخدام command وshell
- تصعيد الامتيازات باستخدام become