Linux: أساسيات الطرفية — صدفة Shell وأول أمر لك
الطرفية هي الطريقة الأساسية التي يتفاعل بها المطورون مع لينكس. تفتقر لمبهجة الواجهة الرسومية، لكن كفاءتها — بمجرد أن تعتاد عليها — تتفوق بكثير على النقر بالماوس.
📋 المتطلبات المسبقة: يجب إكمال
- الدرس 2: تثبيت لينكس
1. ما ستتعلمه
- الفرق بين Shell ومحاكيات الطرفية
- الصياغة العامة للأوامر (أمر + خيارات + معطيات)
- الإكمال التلقائي بـTab وسجل الأوامر
- اختصارات لوحة مفاتيح الطرفية
- كيفية الحصول على مساعدة حول الأوامر
2. أول تجربة طرفية لمبتدئ
(1) الألم: نافذة سوداء بنص أبيبض مخيفة
فتح شياو مينغ طرفية WSL2 ولم يرَ سوى نافذة سوداء ومؤشر يومض. لم يكن يعرف ماذا يكتب أو ماذا سيحدث عند ضغط Enter. لم يكن يعرف حتى كيف يخرج.
(2) أول أمر
المهندس الأول بوب قال: "قل مرحبًا أولًا. اكتب echo "Hello Linux" واضغط Enter."
echo "Hello Linux"
# Output: Hello Linux
ردّت الطرفية ما كتبه — أدرك شياو مينغ أن الطرفية كنافذة محادثة: تكتب أمرًا، والحاسوب يرد بالنتيجة.
(3) الفائدة: من القلق إلى السيطرة
بعد تعلم أول أمر، جرّب شياو مينغ date وwhoami وcal. خلال 5 دقائق، انتقل من "خائف من لمس الطرفية" إلى "قادر على قراءة مخرجات الطرفية."
3. نقاط المعرفة
(1) Shell والطرفية
محاكي الطرفية هو النافذة التي تراها — GNOME Terminal على لينكس، وWindows Terminal على ويندوز، وTerminal.app على ماك.
الصدفة Shell هو البرنامج الذي يعمل داخل الطرفية، المسؤول عن تفسير الأوامر التي تكتبها. أكثر Shell شيوعًا هو bash (Bourne Again Shell).
Terminal window → Shell (bash) → Operating System
(2) الصياغة العامة للأوامر
كل أوامر لينكس تقريبًا تتبع هذه البنية:
COMMAND [OPTIONS] [ARGUMENTS]
| الجزء | الشرح | مثال |
|---|---|---|
| COMMAND | اسم الأمر المراد تنفيذه | ls |
| OPTIONS | خيارات تعدّل سلوك الأمر (تبدأ عادة بـ-) |
-l (صيغة طويلة)، -a (إظهار المخفي) |
| ARGUMENTS | الهدف الذي يعمل عليه الأمر | اسم ملف، اسم دليل |
# مثال على الصياغة
ls -la /home
# الأمر: ls
# الخيارات: -l (صيغة طويلة) و-a (الملفات المخفية)
# المعطى: /home (الدليل المطلوب عرضه)
(3) الإكمال التلقائي بـTab
مفتاح Tab هو أنفع مفتاح في الطرفية. تحتاج فقط لكتابة جزء من أمر أو اسم ملف، وضغط Tab سيُكمله تلقائيًا.
Ctrl+R للبحث العكسي في السجل، يمكن أن تتضاعف كفاءتك عدة مرات.
| تأثير Tab | الوصف |
|---|---|
| إكمال تلقائي | يُكمل الاسم كاملًا عند وجود تطابق واحد فقط |
| عرض كل التطابقات | عند وجود عدة تطابقات، ضغطة واحدة لا تفعل شيئًا؛ ضغطتان تعرضان كل الخيارات |
| إكمال أمر | اكتب ec + Tab → يُكمل تلقائيًا إلى echo |
| إكمال ملف | cd /ho + Tab → يُكمل تلقائيًا إلى cd /home |
| إكمال مسار | ls ~/Doc + Tab → ls ~/Documents/ |
(4) اختصارات لوحة مفاتيح الطرفية
| الاختصار | الإجراء |
|---|---|
Ctrl + C |
إنهاء البرنامج الجاري تشغيله حاليًا (ليس نسخ!) |
Ctrl + D |
إنهاء Shell الحالي أو إنهاء الإدخال (EOF) |
Ctrl + L |
مسح الشاشة (نفس أمر clear) |
Ctrl + R |
بحث عكسي في سجل الأوامر |
↑ / ↓ |
تصفح سجل الأوامر |
Ctrl + A |
نقل المؤشر لبداية السطر |
Ctrl + E |
نقل المؤشر لنهاية السطر |
Ctrl + U |
حذف كل المحارف قبل المؤشر |
Ctrl + K |
حذف كل المحارف بعد المؤشر |
Ctrl + W |
حذف الكلمة قبل المؤشر |
Ctrl+A يذهب لبداية السطر (مثل Emacs)، وCtrl+E لنهايته، وCtrl+U يمسح ما قبل المؤشر، وCtrl+K ما بعده، وCtrl+W يحذف الكلمة السابقة. احفظ هذه المجموعات وتحرير الأوامر الطويلة يصبح أسرع بكثير.
(5) ▶ مثال: أوامر تفاعلية أساسية
# عرض التاريخ والوقت الحاليين
date
# Output: Tue Jul 7 10:23:45 CST 2026
# طباعة اسم المستخدم الحالي
whoami
# Output: alice
# عرض التقويم
cal
# July 2026
# Su Mo Tu We Th Fr Sa
# 1 2 3 4
# 5 6 7 8 9 10 11
# ...
# عرض مدة تشغيل النظام
uptime
# Output: 10:23 up 2 days, 2 users
الإخراج:
TEXTTue Jul 7 10:23:45 CST 2026 alice July 2026 Su Mo Tu We Th Fr Sa 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 10:23 up 2 days, 2 users
(6) ▶ مثال: استخدامات متنوعة لأمر echo
# طباعة سلسلة نصية
echo "Hello Linux"
# طباعة متغير
echo "Current user is: $USER"
# طباعة مخرجات أمر
echo "Today is $(date +%A)"
# كتابة إلى ملف
echo "Hello World" > welcome.txt
(7) ▶ مثال: تمرين على إكمال Tab
# اكتب cd /h ثم اضغط Tab → يُكمل تلقائيًا /home
cd /home
# اكتب ls -l /e ثم اضغط Tab → يُكمل تلقائيًا /etc
ls -l /etc
# اضغط Tab مرتين لعرض التطابقات (اكتب cd /e + Tab + Tab)
# يعرض كل المسارات التي تبدأ بـ/e
(8) ▶ مثال: مسح الشاشة والخروج
# كثير على الشاشة؟ امسحها
clear
# أو استخدم الاختصار Ctrl + L
# اخرج من الطرفية
exit
# أو اضغط Ctrl + D
(9) ▶ مثال: الحصول على مساعدة حول الأوامر
# الطريقة 1: خيار --help (تدعمه معظم الأوامر)
ls --help | head -20
# الطريقة 2: صفحات man (الأكثر تفصيلًا)
man ls
# اضغط q للخروج من صفحة man
# الطريقة 3: وصف سطر واحد عبر whatis
whatis ls
# Output: ls (1) - list directory contents
(10) ▶ مثال شامل: أول مغامرة طرفية لشياو مينغ
# بعد فتح الطرفية، جرّب شياو مينغ ما يلي
echo "Hello Linux" # قل مرحبًا للحاسوب
date # ما تاريخ اليوم؟
whoami # من أنا؟
uptime # كم مضى على تشغيل الخادم؟
cal # اعرض تقويم هذا الشهر
ls -la # ما الملفات في دليلي المنزلي؟
echo $SHELL # أي Shell أستخدم؟
exit # وداعًا، يا طرفية!
الإخراج:
TEXTHello Linux Tue Jul 8 10:23:45 CST 2026 alice 10:23:45 up 3 days, 2:10, 1 user, load average: 0.00, 0.01, 0.05 July 2026 Su Mo Tu We Th Fr Sa 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 total 28 drwxr-xr-x 1 alice alice 4096 Jul 8 10:23 . drwxr-xr-x 1 alice alice 4096 Jul 8 10:23 .. -rw-r--r-- 1 alice alice 220 Jul 8 10:23 .bash_logout -rw-r--r-- 1 alice alice 3771 Jul 8 10:23 .bashrc -rw-r--r-- 1 alice alice 807 Jul 8 10:23 .profile /bin/bash💡 تعلّم شياو مينغ أوامر الطرفية الأساسية — سيستمر في البناء عليها في الفصول التالية!
❓ أسئلة شائعة
س: ما الفرق بين الطرفية والصدفة Shell؟ ج: الطرفية هي برنامج النافذة (مثل GNOME Terminal أو Windows Terminal)، بينما الصدفة Shell هي المُفسِّر الذي يعمل داخل الطرفية (مثل bash أو zsh). الطرفية توفر "النافذة"، والصدفة هي "الشخص الذي يتحدث معك."
س: ماذا يمكن لـTab أن يُكمل في الطرفية؟ ج: أسماء الأوامر، وأسماء الملفات، وأسماء الدلائل، وخيارات الأوامر (بعض البرامج تدعم ذلك)، وأسماء متغيرات البيئة (عند البدء بـ
$). على لينكس،Ctrl + IوTab هما نفس الشيء.
س: ماذا لو لم يُوقف
Ctrl + Cالبرنامج؟ ج: جرّب أولًاCtrl + C، ثمCtrl + Zلتعليق البرنامج، يليهkill %1لإنهائه. إذا لم ينفع ذلك، استخدمps aux | grep program_nameلإيجاد الـPID ثمkill -9 PID.
س: ما الفرق بين
clearوCtrl + L؟ ج: نفس التأثير — كلاهما يمسح الشاشة. لكنclearأمر (يمسح الطرفية ومخزن التمرير)، بينماCtrl + Lاختصار (يمسح الجزء المرئي فقط). يمكنك استخدام أيهما عمليًا.
س: كيف أعرض الأوامر التي أدخلتها سابقًا؟ ج: اضغط
↑للتصفح واحدًا تلو الآخر. اضغطCtrl + Rلدخول وضع البحث العكسي والبحث في السجل بالكلمة المفتاحية. كل السجل محفوظ في~/.bash_history.
📖 ملخص
- الطرفية هي النافذة؛ الصدفة Shell هي مُفسِّر الأوامر؛ الصدفة الافتراضية هي bash
- بنية الأمر:
COMMAND [OPTIONS] [ARGUMENTS] - الإكمال التلقائي بـTab هو أقوى ميزة في الطرفية — اضغط Tab كثيرًا
- اختصارات الطرفية ترفع الكفاءة بشكل كبير:
Ctrl + Cللإنهاء، و↑للسجل، وCtrl + Rللبحث - احصل على المساعدة بـ
--help(موجز) أوman(مفصّل)
📝 تمارين
- أساسي (صعوبة ⭐): افتح الطرفية، اكتب
echo "Hello Linux"ولاحظ المخرجات، ثم استخدمdateوcalلعرض التاريخ والتقويم الحاليين - متوسط (صعوبة ⭐⭐): اقرأ دليل أمر
lsبـman ls(اضغط q للخروج)، وتدرّب على إكمال Tab — اكتبcd /ثم اضغط Tab مرتين لرؤية ما الدلائل الموجودة - متقدم (صعوبة ⭐⭐⭐): أنشئ اسمًا مستعارًا Shell باسم
todayيعرض التاريخ والتقويم معًا؛ ثم استخدمCtrl + Rللبحث في سجل أوامرك واذكر 5 اختصارات طرفية تستخدمها أكثر