Linux: أساسيات الطرفية — صدفة Shell وأول أمر لك

الطرفية هي الطريقة الأساسية التي يتفاعل بها المطورون مع لينكس. تفتقر لمبهجة الواجهة الرسومية، لكن كفاءتها — بمجرد أن تعتاد عليها — تتفوق بكثير على النقر بالماوس.

📋 المتطلبات المسبقة: يجب إكمال

1. ما ستتعلمه


2. أول تجربة طرفية لمبتدئ

(1) الألم: نافذة سوداء بنص أبيبض مخيفة

فتح شياو مينغ طرفية WSL2 ولم يرَ سوى نافذة سوداء ومؤشر يومض. لم يكن يعرف ماذا يكتب أو ماذا سيحدث عند ضغط Enter. لم يكن يعرف حتى كيف يخرج.

(2) أول أمر

المهندس الأول بوب قال: "قل مرحبًا أولًا. اكتب echo "Hello Linux" واضغط Enter."

BASH
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).

TEXT
Terminal window → Shell (bash) → Operating System

(2) الصياغة العامة للأوامر

كل أوامر لينكس تقريبًا تتبع هذه البنية:

TEXT

COMMAND [OPTIONS] [ARGUMENTS]
الجزء الشرح مثال
COMMAND اسم الأمر المراد تنفيذه ls
OPTIONS خيارات تعدّل سلوك الأمر (تبدأ عادة بـ-) -l (صيغة طويلة)، -a (إظهار المخفي)
ARGUMENTS الهدف الذي يعمل عليه الأمر اسم ملف، اسم دليل
TEXT
# مثال على الصياغة
ls -la /home
# الأمر: ls
# الخيارات: -l (صيغة طويلة) و-a (الملفات المخفية)
# المعطى: /home (الدليل المطلوب عرضه)

(3) الإكمال التلقائي بـTab

مفتاح Tab هو أنفع مفتاح في الطرفية. تحتاج فقط لكتابة جزء من أمر أو اسم ملف، وضغط 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 حذف الكلمة قبل المؤشر
💡 نصيحة: اختصارات الطرفية تتبع أسلوب Emacs — Ctrl+A يذهب لبداية السطر (مثل Emacs)، وCtrl+E لنهايته، وCtrl+U يمسح ما قبل المؤشر، وCtrl+K ما بعده، وCtrl+W يحذف الكلمة السابقة. احفظ هذه المجموعات وتحرير الأوامر الطويلة يصبح أسرع بكثير.

(5) ▶ مثال: أوامر تفاعلية أساسية

BASH
# عرض التاريخ والوقت الحاليين
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

الإخراج:

TEXT
Tue 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

TEXT
# طباعة سلسلة نصية
echo "Hello Linux"

# طباعة متغير
echo "Current user is: $USER"

# طباعة مخرجات أمر
echo "Today is $(date +%A)"

# كتابة إلى ملف
echo "Hello World" > welcome.txt

(7) ▶ مثال: تمرين على إكمال Tab

TEXT
# اكتب cd /h ثم اضغط Tab → يُكمل تلقائيًا /home
cd /home

# اكتب ls -l /e ثم اضغط Tab → يُكمل تلقائيًا /etc
ls -l /etc

# اضغط Tab مرتين لعرض التطابقات (اكتب cd /e + Tab + Tab)
# يعرض كل المسارات التي تبدأ بـ/e

(8) ▶ مثال: مسح الشاشة والخروج

TEXT
# كثير على الشاشة؟ امسحها
clear

# أو استخدم الاختصار Ctrl + L

# اخرج من الطرفية
exit

# أو اضغط Ctrl + D

(9) ▶ مثال: الحصول على مساعدة حول الأوامر

TEXT
# الطريقة 1: خيار --help (تدعمه معظم الأوامر)
ls --help | head -20

# الطريقة 2: صفحات man (الأكثر تفصيلًا)
man ls
# اضغط q للخروج من صفحة man

# الطريقة 3: وصف سطر واحد عبر whatis
whatis ls
# Output: ls (1) - list directory contents

(10) ▶ مثال شامل: أول مغامرة طرفية لشياو مينغ

BASH
# بعد فتح الطرفية، جرّب شياو مينغ ما يلي
echo "Hello Linux"          # قل مرحبًا للحاسوب
date                        # ما تاريخ اليوم؟
whoami                      # من أنا؟
uptime                      # كم مضى على تشغيل الخادم؟
cal                         # اعرض تقويم هذا الشهر
ls -la                      # ما الملفات في دليلي المنزلي؟
echo $SHELL                 # أي Shell أستخدم؟
exit                        # وداعًا، يا طرفية!

الإخراج:

TEXT
Hello 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.


📖 ملخص


📝 تمارين

  1. أساسي (صعوبة ⭐): افتح الطرفية، اكتب echo "Hello Linux" ولاحظ المخرجات، ثم استخدم date وcal لعرض التاريخ والتقويم الحاليين
  2. متوسط (صعوبة ⭐⭐): اقرأ دليل أمر ls بـman ls (اضغط q للخروج)، وتدرّب على إكمال Tab — اكتب cd / ثم اضغط Tab مرتين لرؤية ما الدلائل الموجودة
  3. متقدم (صعوبة ⭐⭐⭐): أنشئ اسمًا مستعارًا Shell باسم today يعرض التاريخ والتقويم معًا؛ ثم استخدم Ctrl + R للبحث في سجل أوامرك واذكر 5 اختصارات طرفية تستخدمها أكثر
Web-Tutorial.com

فريق Web-Tutorial التقني

منصة دروس برمجية يديرها عدة مطورين. كل درس يتم كتابته ومراجعته بواسطة مطورين متخصصين في المجال. نعمل على ضمان دقة وموثوقية المحتوى — إذا لاحظت أي مشكلة، فيرجى إخبارنا.

100%