كيف تدرس هذا المسار؟
اقرأ المفهوم — الطرفية بوابة السيرفر الحقيقي.
انسخ الأوامر وجرّبها في Terminal أو WSL.
نفّذ المهمة العملية قبل الاختبار.
أكمل الاختبار — التقدّم يُحفظ على جهازك.
محتوى أصلي من Mesue Learn — عملي ومناسب لسن +12 وما فوق.
عرض MesueTech
Prompts Pro — 130 أمر متقدم
49 ج.م — Agents، مبيعات، E-commerce. تحميل فوري.
49 ج.م
1. مقدمة الطرفية — بوابة المطور
الهدف: تفهم ما هي الطرفية ولماذا يستخدمها المبرمجون قبل كتابة أي أمر.
الطرفية (Terminal) = نافذة نصية تكتب فيها أوامر والجهاز ينفّذها فوراً.
لماذا يهمك كمطور؟
• أسرع من النقر في واجهات معقدة
• أدوات Git و Python و Node تعمل من الطرفية
• الخوادم (Servers) غالباً بلا شاشة — فقط سطر أوامر
• سكربتات ت automate مهام متكررة
أين تجدها؟
• Linux/Mac: Terminal
• Windows: PowerShell، WSL، أو Git Bash
البرومبت (Prompt) يظهر مثل:
user@pc:~/projects$
$ أو % = جاهز لأمر. Enter = تنفيذ. Ctrl+C = إيقاف أمر عالق.
قاعدة Mesue: الطرفية ليست «للمحترفين فقط» — هي أداة يومية للمبرمج المبتدئ.
Terminal = أوامر نصية بدل النقر
Git و Python و npm تعمل من الطرفية
Ctrl+C يوقف الأمر الجاري
WSL يجلب Linux على Windows
صورة ذهنية
[أنت]
|
v
[Terminal]
|
v
[النظام / البرامج]
مختبر: أول 5 أوامر
نسخ
نفّذ whoami و pwd و date و echo — ماذا يعيد كل أمر؟
مهمة عملية
افتح الطرفية على جهازك ونفّذ echo "أنا أتعلّم Linux CLI" — التقط لقطة شاشة.
أكمل الدرس 1
2. التنقل — pwd و cd و ls
الهدف: تعرف مكانك في النظام وتنتقل بين المجلدات وتعرض محتوياتها.
pwd = Print Working Directory — «أين أنا الآن؟»
cd = Change Directory — «اذهب إلى مجلد»
ls = List — «اعرض محتويات المجلد»
أمثلة:
pwd
ls
ls -l # تفاصيل (صلاحيات، حجم، تاريخ)
ls -la # يشمل الملفات المخفية (.)
cd Documents
cd .. # مجلد أب
cd ~ # مجلدك الرئيسي (Home)
cd / # جذر النظام
مسارات:
• مطلق: /home/user/projects
• نسبي: cd projects/mesue
Tab = إكمال تلقائي للأسماء — وفر وقتك!
ls -lah = تفاصيل + مخفية + أحجام مقروءة (K, M).
pwd يعرض المسار الحالي
cd .. للأعلى، cd ~ للHome
ls -l للتفاصيل، ls -a للمخفية
Tab يكمّل أسماء الملفات
صورة ذهنية
~ (Home)
|
+-- Documents
| |
| v
| [mesue/]
|
cd .. → رجوع
مختبر: خريطة مجلدات
نسخ
من Home: cd إلى 3 مجلدات مختلفة — pwd بعد كل cd. ارسم شجرة بسيطة على ورقة.
مهمة عملية
أنشئ مجلد mesue-cli-lab في Home وادخل إليه — pwd يجب أن ينتهي بـ mesue-cli-lab.
أكمل الدرس 2
3. الملفات — إنشاء، نسخ، نقل، حذف
الهدف: تنشئ ملفات ومجلدات وتعدّلها وتنسخها بأمان.
mkdir اسم_مجلد # مجلد جديد
mkdir -p a/b/c # مجلدات متداخلة
touch file.txt # ملف فارغ أو تحديث تاريخه
cat file.txt # عرض المحتوى
nano file.txt # محرر نصي بسيط (أو vim/code)
echo 'مرحباً' > hi.txt # كتابة (استبدال)
echo 'سطر' >> hi.txt # إلحاق
cp source dest # نسخ
cp -r folder/ backup/ # نسخ مجلد
mv old new # نقل أو إعادة تسمية
rm file.txt # حذف ملف
rm -r folder/ # حذف مجلد
⚠️ rm لا سلة مهملات — الحذف نهائي!
قبل rm -r: ls داخل المجلد وتأكد. استخدم rm -i للتأكيد.
mkdir -p للمجلدات المتداخلة
> يكتب، >> يلحق
mv = نقل أو rename
rm -r خطير — تحقق مرتين
صورة ذهنية
touch/cat → [file.txt]
|
cp/mv → [نسخة]
|
rm → ✗ (نهائي)
مختبر: هيكل مشروع
نسخ
أنشئ src/ و docs/ و README.md — cat README.md — هل المحتوى صحيح؟
مهمة عملية
ابنِ هيكلاً: mesue-cli-lab/src/ و docs/ و README.md بسطر واحد على الأقل.
أكمل الدرس 3
4. الصلاحيات — من يقرأ ويكتب وينفّذ؟
الهدف: تقرأ صلاحيات rwx وتعدّلها بـ chmod دون كسر النظام.
ls -l يعرض صلاحيات مثل:
-rw-r--r-- 1 user group 123 Apr 1 10:00 file.txt
الأجزاء:
• النوع: - ملف، d مجلد
• rwx للمالك (user)
• rwx للمجموعة (group)
• rwx للآخرين (others)
r=read قراءة، w=write كتابة، x=execute تنفيذ
chmod 644 file.txt # rw-r--r--
chmod 755 script.sh # rwxr-xr-x (سكربت قابل للتشغيل)
chmod +x script.sh # إضافة execute
chmod 777 = خطر! الجميع يعدّل — تجنّبه.
للمجلدات: x = الدخول إليها (cd).
chown user:group file — للمتقدمين مع sudo.
rwx = read, write, execute
755 للسكربتات القابلة للتشغيل
644 للملفات النصية العادية
777 خطير — لا تستخدمه
صورة ذهنية
-rw-r--r--
||| ||| |||
owner group other
r w - r - - r - -
مختبر: سكربت قابل للتشغيل
نسخ
قبل chmod +x — ./hello.sh يفشل. بعدها — ينجح. ls -l يرى x.
مهمة عملية
أنشئ hello.sh و chmod +x وشغّله بـ ./hello.sh.
أكمل الدرس 4
5. الأنابيب وإعادة التوجيه — ربط الأوامر
الهدف: تمرّر مخرجات أمر لآخر وتوجّهها لملفات.
Pipe | = مخرجات أمر → مدخلات أمر آخر
ls | wc -l # عدد الملفات
history | tail -5 # آخر 5 أوامر
إعادة التوجيه:
command > file.txt # stdout إلى ملف (استبدال)
command >> file.txt # إلحاق
command 2> errors.log # stderr فقط
command &> all.log # stdout + stderr
< = إدخال من ملف:
wc -l < file.txt
أمثلة عملية:
ls -la | head -10 # أول 10 أسطر
date >> log.txt # سجل بسيط
stderr = رسائل خطأ (2). stdout = مخرجات عادية (1).
| يربط مخرجات بمدخلات
> يكتب، >> يلحق
2> لرسائل الخطأ
head/tail/wc شركاء pipes
صورة ذهنية
ls --> | --> wc -l --> [عدد]
|
date >> log.txt
مختبر: سجل نشاط
نسخ
echo \"بدء العمل\" >> activity.log ثم date >> activity.log — cat activity.log.
مهمة عملية
أنشئ activity.log بثلاثة أسطر باستخدام >> و date و echo.
أكمل الدرس 5
6. grep — البحث داخل الملفات
الهدف: تبحث عن نصوص وأنماط في ملفات ومخرجات الأوامر.
grep = Global Regular Expression Print
grep 'كلمة' file.txt
grep -i 'error' log.txt # تجاهل حالة الأحرف
grep -r 'TODO' src/ # بحث متكرر في مجلد
grep -n 'function' app.py # مع أرقام الأسطر
grep -v 'debug' log.txt # الأسطر التي لا تحتوي
مع pipe:
ls -la | grep '.md'
history | grep git
regex بسيط:
grep '^#' config.txt # أسطر تبدأ بـ #
grep '[0-9]' data.txt # تحتوي رقماً
--color=auto يلوّن النتائج (غالباً افتراضي).
grep أداة يومية: سجلات، كود، configs.
grep يبحث عن نص أو نمط
-r للبحث في مجلد كامل
-i غير حساس لحالة الأحرف
-v يعكس (استبعاد)
صورة ذهنية
[ملفات/مخرجات]
|
v
[grep]
|
الأسطر المطابقة
مختبر: صيد TODO
نسخ
أنشئ tasks.txt بـ 5 أسطر — 2 فيها TODO. grep -c TODO tasks.txt = 2.
مهمة عملية
ابحث عن كلمة Mesue في README.md بـ grep — إن لم توجد، أضفها ثم ابحث.
أكمل الدرس 6
7. العمليات — ما الذي يعمل الآن؟
الهدف: تراقب العمليات وتوقف العالقة منها وتشغّل أوامر في الخلفية.
كل برنامج يعمل = process (عملية) له PID (رقم).
ps # لقطة لعمليات الجلسة
ps aux | head # نظرة عامة (Linux/Mac)
top أو htop # مراقبة حية (q للخروج)
kill PID # إيقاف بلطف (SIGTERM)
kill -9 PID # إيقاف قسري — آخر حل
which python3 # أين البرنامج؟
command & # تشغيل في الخلفية
jobs # قائمة الخلفية
fg %1 # إحضار للمقدمة
Ctrl+Z ثم bg = إرسال للخلفية.
مثال: python3 -m http.server 8080 &
لا kill -9 إلا عند الضرورة — قد تفسد ملفات مفتوحة.
PID = معرّف العملية
top/htop للمراقبة
kill قبل kill -9
& للتشغيل في الخلفية
صورة ذهنية
ps / top
|
[PID 1234 python]
[PID 5678 bash]
|
kill → إيقاف
مختبر: عملية خلفية
نسخ
شغّل sleep 60 & — jobs يظهرها — kill %1 — jobs فارغ.
مهمة عملية
نفّذ ps أو ps aux | head -5 — ما أكثر عملية تكراراً؟
أكمل الدرس 7
8. مقدمة SSH — الاتصال الآمن بخادم
الهدف: تفهم SSH وتتصل بخادم (أو WSL) دون مشاركة كلمات سر في Git.
SSH = Secure Shell — اتصال مشفّر بجهاز بعيد (خادم VPS، Raspberry Pi، WSL).
ssh user@host
ssh user@192.168.1.10
ssh -p 2222 user@host # منفذ غير 22
أول اتصال: «هل تثق بهذا الجهاز؟» — yes مرة واحدة.
مفاتيح SSH (أفضل من كلمة سر):
ssh-keygen -t ed25519 -C "you@example.com"
ssh-copy-id user@host
scp file.txt user@host:~/ # نسخ ملف للخادم
scp user@host:~/log.txt . # جلب ملف
⚠️ لا ترفع المفتاح الخاص (~/.ssh/id_ed25519) إلى GitHub أبداً.
GitHub يستخدم SSH: git@github.com:USER/repo.git
Mesue: credentials/ و .ssh/ خارج Git دائماً.
SSH اتصال مشفّر بالخادم
ssh-keygen + ssh-copy-id أأمن
scp لنقل الملفات
المفتاح الخاص سري — لا يرفع لGit
صورة ذهنية
[جهازك] --SSH--> [خادم]
| |
id_ed25519 authorized_keys
مختبر: فحص SSH
نسخ
ls ~/.ssh/ — هل id_ed25519.pub موجود؟ cat *.pub آمن (مفتاح عام فقط).
مهمة عملية
اقرأ ls -la ~/.ssh/ — اشرح الفرق بين .pub والمفتاح بدون .pub.
أكمل الدرس 8
9. سكربتات Bash — أتمتة المهام
الهدف: تكتب سكربت Bash بسيط بـ shebang ومتغيرات وحلقات.
سكربت = ملف أوامر قابل للتشغيل.
#!/bin/bash
# أول سطر: shebang
echo "مرحباً"
NAME="Mesue"
echo "المشروع: NAME"
# للمتغير:
echo "المشروع: $NAME"
mkdir -p backup
cp *.md backup/ 2>/dev/null || true
for f in *.txt; do
echo "ملف: $f"
done
if [ -f README.md ]; then
echo "README موجود"
fi
chmod +x script.sh
./script.sh
bash -n script.sh # فحص syntax دون تنفيذ
استخدم " للمتغيرات. || true يمنع توقف السكربت عند خطأ بسيط.
#!/bin/bash = shebang
chmod +x ثم ./script.sh
for و if للتحكم
bash -n للتحقق من الأخطاء
صورة ذهنية
script.sh
|
shebang → bash
|
أوامر → نتيجة
مختبر: setup.sh
نسخ
احفظ setup.sh — chmod +x — ./setup.sh — ls يظهر src docs tests.
مهمة عملية
اكتب setup.sh ينشئ 3 مجلدات و README.md — شغّله وتحقق.
أكمل الدرس 9
10. المشروع النهائي — تنظيم مجلد مشروع Bash
الهدف: تسلّم مجلد مشروع منظم بسكربت organize.sh يجهّز الهيكل تلقائياً.
المطلوب: مجلد mesue-cli-project في Home
الهيكل:
mesue-cli-project/
├── README.md (وصف عربي)
├── src/
├── docs/
├── scripts/
│ └── organize.sh (ينشئ/ينظّم الهيكل)
└── logs/
└── .gitkeep
organize.sh يجب أن:
1) ينشئ المجلدات إن لم تكن
2) يكتب تاريخ التشغيل في logs/setup.log
3) يطبع «جاهز» مع pwd
معيار النجاح:
✓ ./scripts/organize.sh يعمل بدون أخطاء
✓ README يشرح كيف تشغّل السكربت
✓ ls -R يظهر الهيكل كاملاً
✓ grep TODO src/ أو docs/ — لا أسرار
(اختياري) git init + .gitignore لـ logs/*.log
هيكل واضح = مشروع احترافي
organize.sh قابل لإعادة التشغيل
README يشرح للزائر
لا كلمات سر في الملفات
صورة ذهنية
organize.sh
|
+----+----+----+
v v v v
src docs scripts logs
|
README.md
مختبر: العرض النهائي
نسخ
احذف logs/ — شغّل organize.sh مجدداً — هل أُعيد إنشاؤه؟ cat logs/setup.log.
مهمة عملية
سلّم mesue-cli-project + organize.sh + README عربي — شارك لقطة ls -R.
أكمل الدرس 10
سطر الأوامر أصبح أداة يومية
جرّب مسار السحابة لنشر موقعك على VPS، أو Git لإدارة مشروعك من الطرفية.