أساسيات التعامل مع الصدفة (Shell) في Red Hat Enterprise Linux
تعد الصدفة (Shell) في أنظمة التشغيل المبنية على نواة لينكس مثل Red Hat Enterprise Linux (RHEL) الأداة الأساسية التي تتيح للمستخدم التفاعل مع النظام باستخدام أوامر نصية. إن تعلم كيفية التعامل مع الصدفة في RHEL يعد من المهارات الأساسية لأي مستخدم أو مسؤول نظام يعمل في بيئات لينوكس. تتعدد أنواع الصدف المتاحة، مثل Bash و Zsh و Fish، ولكن في هذه المقالة سنركز على Bash Shell، الذي يُعتبر الأكثر شيوعًا في أنظمة RHEL.
ما هي الصدفة (Shell)؟
الصدفة هي واجهة بين المستخدم ونظام التشغيل. تتيح الصدفة للمستخدم إصدار الأوامر التي يمكن للنظام معالجتها وتنفيذها. تعمل الصدفة كوسيط بين المستخدم وبرنامج النظام. يمكن للصدفة أن تنفذ أوامر مباشرة، أو أن تكتب سكربتات تعمل بشكل تلقائي لتحسين مهام النظام.
بيئة العمل في الصدفة
عند استخدام الصدفة في Red Hat Enterprise Linux، ستجد نفسك في بيئة نصية تتيح لك التفاعل مع النظام. هذه البيئة توفر لك سطر الأوامر، حيث يمكنك إدخال الأوامر التي سيقوم النظام بتنفيذها. يُطلق على هذه البيئة Terminal أو Console، وتعتبر الأداة الأساسية للعديد من المهام في RHEL.
إعداد البيئة في الصدفة
-
الواجهة الرسومية (GUI) و CLI: في RHEL، يمكنك التفاعل مع النظام من خلال واجهة المستخدم الرسومية أو عبر سطر الأوامر (CLI). وعند التبديل إلى بيئة سطر الأوامر، ستجد bash في انتظار إدخال الأوامر.
-
الصدفة الافتراضية: عند تثبيت RHEL، يكون Bash هو الصدفة الافتراضية. هذه الصدفة توفر مجموعة كبيرة من الأدوات والإمكانات التي تسهل استخدام النظام.
أوامر الصدفة الأساسية
فيما يلي بعض الأوامر الأساسية التي يجب أن يتقنها أي مستخدم لنظام RHEL:
-
ls:
-
يقوم هذا الأمر بإظهار محتويات المجلد الحالي.
-
مثال:
bashls
-
-
cd:
-
يستخدم للانتقال بين المجلدات.
-
مثال:
bashcd /home/user
-
-
pwd:
-
يطبع المسار الكامل للمجلد الحالي.
-
مثال:
bashpwd
-
-
cp:
-
لنسخ الملفات أو المجلدات.
-
مثال:
bashcp file1.txt /home/user/
-
-
mv:
-
لتحريك أو إعادة تسمية الملفات.
-
مثال:
bashmv file1.txt /home/user/newname.txt
-
-
rm:
-
لحذف الملفات أو المجلدات.
-
مثال:
bashrm file1.txt
-
-
touch:
-
لإنشاء ملف فارغ جديد.
-
مثال:
bashtouch newfile.txt
-
التعامل مع المتغيرات في الصدفة
تعتبر المتغيرات من العناصر الأساسية في الصدفة. يتم استخدامها لتخزين القيم التي يمكن استخدامها لاحقًا في الأوامر أو السكربتات. يمكن للمتغيرات أن تكون مبنية أو مخصصة:
-
المتغيرات المدمجة: وهي المتغيرات التي يوفرها النظام تلقائيًا، مثل:
-
$HOME: يحتوي على المسار إلى المجلد الرئيسي للمستخدم. -
$PATH: يحتوي على المسارات التي يبحث فيها النظام عن الملفات التنفيذية. -
$USER: يحتوي على اسم المستخدم الحالي.
-
-
المتغيرات المخصصة: يمكن للمستخدم إنشاء متغيرات خاصة باستخدام الأمر التالي:
bashVARIABLE_NAME="value"ولإظهار قيمة المتغير يمكن استخدام:
bashecho $VARIABLE_NAME
التعامل مع السكربتات في Bash
تعد كتابة السكربتات النصية (Shell Scripts) من أهم الاستخدامات المتقدمة للصدفة. يسمح لك سكربت Bash بتجميع عدة أوامر لتنفيذها بشكل آلي.
إنشاء سكربت Bash
-
إنشاء ملف السكربت: لإنشاء ملف سكربت جديد، استخدم محرر نصوص مثل
nanoأوvim.bashnano myscript.sh -
كتابة السكربت: ابدأ السكربت بكتابة
#!/bin/bashفي السطر الأول لتعريف أن هذا الملف هو سكربت Bash. بعد ذلك، يمكنك إضافة الأوامر التي ترغب في تنفيذها.
مثال:bash#!/bin/bash echo "Hello, World!" -
منح الأذونات: لتشغيل السكربت، يجب أن تمنحه أذونات تنفيذ.
bashchmod +x myscript.sh -
تشغيل السكربت: لتشغيل السكربت، استخدم الأمر:
bash./myscript.sh
متغيرات في السكربتات
داخل السكربتات، يمكن استخدام المتغيرات بنفس الطريقة كما في سطر الأوامر. على سبيل المثال، لتمرير قيم إلى السكربت عند تنفيذه، يمكن استخدام:
bash#!/bin/bash
echo "Welcome, $1"
ثم يمكن تشغيل السكربت مع تمرير قيمة:
bash./myscript.sh User
استخدام القوائم والحلقات في السكربتات
-
الحلقات: يمكن استخدام الحلقات (
for,while) لتنفيذ مجموعة من الأوامر بشكل متكرر.-
مثال:
bashfor i in {1..5} do echo "Iteration $i" done
-
-
الشرطيات: يمكن استخدام أوامر
if,elseلتحديد منطق الشرط داخل السكربتات.-
مثال:
bashif [ -f "myfile.txt" ]; then echo "File exists." else echo "File does not exist." fi
-
المعالجة المتقدمة للملفات
تحتوي الصدفة على مجموعة من الأدوات المتقدمة التي يمكن استخدامها لإدارة وتحليل الملفات:
-
إعادة توجيه المدخلات والمخرجات:
-
إعادة التوجيه القياسي: يمكنك إعادة توجيه المخرجات باستخدام
>أو>>، حيث يقوم الأول بكتابة المخرجات إلى ملف جديد بينما يقوم الثاني بإلحاق المخرجات إلى ملف موجود.-
مثال:
bashecho "Hello World" > output.txt
-
-
-
أنابيب الأوامر (Pipes):
-
تُستخدم الأنابيب لتمرير مخرجات أمر كمدخل لأمر آخر باستخدام
|.-
مثال:
bashls | grep "file"
-
-
-
استخدام
findللبحث في الملفات:-
يمكن استخدام أمر
findللبحث عن ملفات أو مجلدات داخل شجرة الدليل.-
مثال:
bashfind /home/user -name "*.txt"
-
-
أدوات متقدمة لإدارة النظام
تتيح لك الصدفة في RHEL استخدام العديد من الأدوات المتقدمة لإدارة النظام. من أبرز هذه الأدوات:
-
top:
-
يُظهر لك حالة النظام في الوقت الفعلي مثل استخدام المعالج والذاكرة.
-
مثال:
bashtop
-
-
ps:
-
لعرض العمليات الجارية.
-
مثال:
bashps aux
-
-
kill:
-
لإيقاف العمليات باستخدام رقم PID.
-
مثال:
bashkill 1234
-
الخلاصة
يعد العمل مع الصدفة في Red Hat Enterprise Linux من المهارات الأساسية التي يجب على كل مستخدم أو مسؤول نظام إتقانها. من خلال الأوامر الأساسية، التعامل مع المتغيرات، كتابة السكربتات النصية، إلى استخدام الأدوات المتقدمة، توفر الصدفة العديد من الإمكانيات القوية لإدارة النظام بكفاءة.

