1. أساسيات Bash
ما هو Bash Shell؟
Bash (Bourne Again Shell) هو أكثر واجهة أوامر استخدامًا في توزيعات لينكس. هذه الأداة البسيطة والقوية توفر منصة للمستخدمين للتفاعل مع النظام، ويمكن استخدامها لإدارة الملفات، وتشغيل البرامج، وإدارة المهام، وغيرها من العمليات الأساسية.
مزايا Bash
- قدرات البرمجة النصية القوية: يتيح Bash أتمتة المهام المعقدة باستخدام سكربتات الشل.
- دعم واسع النطاق: مدعوم في معظم أنظمة التشغيل الشبيهة بـ Unix وتوزيعات Linux.
- قابلية التخصيص العالية: يمكن للمستخدمين تخصيص بيئتهم باستخدام الأوامر المختصرة (alias) ودوال الشل.
# مثال على أمر Bash بسيط
echo "Hello, World!"
2. أوامر Bash الأساسية
إدارة الملفات
فيما يلي أوامر إدارة الملفات الأكثر استخدامًا في Bash.
ls
: يعرض محتويات المجلد.cd
: يغير المجلد الحالي.cp
: ينسخ الملفات أو المجلدات.mv
: ينقل أو يعيد تسمية الملفات.rm
: يحذف الملفات.
# عرض تفاصيل محتويات المجلد
ls -l
# الانتقال إلى مجلد المنزل
cd ~
# نسخ ملف
cp source.txt destination.txt
# نقل أو إعادة تسمية ملف
mv old_name.txt new_name.txt
# حذف ملف
rm unwanted_file.txt
معلومات النظام وإدارة العمليات
أوامر التحقق من معلومات النظام وإدارة العمليات مهمة أيضًا.
ps
: يعرض العمليات النشطة.top
: يعرض قائمة العمليات الحية ونظرة عامة على النظام.kill
: ينهي عملية عبر إرسال إشارة إليها.
# عرض العمليات النشطة
ps aux
# عرض ملخص النظام وقائمة العمليات
top
# إنهاء عملية بمعرف 1234
kill 1234

3. كيفية كتابة سكربت Bash
البنية الأساسية للسكربت
ملف سكربت Bash يحتوي على عدة أوامر. باستخدام السكربتات يمكنك أتمتة وتنفيذ سلسلة من العمليات بسهولة.
#!/bin/bash
# هذا السطر يُسمى Shebang، ويحدد الشل الذي سيتم استخدامه لتنفيذ السكربت.
echo "Hello, World!" # يعرض النص باستخدام الأمر echo
استخدام المتغيرات
يمكنك استخدام المتغيرات لتخزين البيانات وإعادة استخدامها داخل السكربت.
#!/bin/bash
message="Hello, Bash Scripting!"
echo $message
الشروط والحلقات
تُستخدم الشروط والحلقات لتنفيذ منطق معقد وتكرار المهام.
#!/bin/bash
# مثال على if
if [ $1 -gt 100 ]
then
echo "The number is greater than 100."
else
echo "The number is 100 or less."
fi
# مثال على حلقة for
for i in 1 2 3 4 5
do
echo "Looping ... number $i"
done
4. أتمتة المهام باستخدام Bash
نظرة عامة على أتمتة المهام
باستخدام سكربتات Bash، يمكنك أتمتة المهام الدورية بكفاءة، مثل النسخ الاحتياطي للنظام، ومزامنة البيانات، وإنشاء التقارير، مما يقلل من عبء إدارة النظام.
سكربت النسخ الاحتياطي التلقائي
السكربت التالي يتيح لك عمل نسخ احتياطية دورية للمجلد المحدد لحماية بياناتك.
#!/bin/bash
SRC_DIR="/home/user/documents"
DST_DIR="/backup/documents"
DATE=$(date +%Y%m%d)
# إنشاء مجلد النسخ الاحتياطي إذا لم يكن موجودًا
if [ ! -d "$DST_DIR" ]; then
mkdir -p "$DST_DIR"
fi
# ضغط محتوى المجلد وعمل النسخة الاحتياطية
tar -czf "$DST_DIR/backup_$DATE.tar.gz" -C "$SRC_DIR" .
echo "Backup completed successfully."
تشغيل السكربت تلقائيًا باستخدام cron
يمكنك إعداد cron لتشغيل سكربت النسخ الاحتياطي كل يوم في الساعة 2 صباحًا.
0 2 * * * /path/to/backup.sh
معالجة الأخطاء والإشعارات
يمكنك إضافة معالجة للأخطاء أثناء النسخ الاحتياطي، وإرسال إشعار إلى المدير عند حدوث مشكلة.
#!/bin/bash
SRC_DIR="/home/user/documents"
DST_DIR="/backup/documents"
LOG_FILE="/var/log/backup.log"
DATE=$(date +%Y%m%d)
if [ ! -d "$DST_DIR" ]; then
mkdir -p "$DST_DIR"
fi
if tar -czf "$DST_DIR/backup_$DATE.tar.gz" -C "$SRC_DIR" .; then
echo "Backup successful on $DATE" >> $LOG_FILE
else
echo "Backup failed on $DATE" | mail -s "Backup Failure" admin@example.com
fi