سطر الأوامر هو القلب النابض للينكس، حتى لو لم تلمسه أبدًا خلال استخدامك اليومي. هو الأداة التي تحوّلك من مستخدم يتبع ما توفره الواجهة الرسومية، إلى شخص يتحكم في كل تفصيل من تفاصيل النظام مباشرة.
هذا الدليل يأخذك من الصفر: ما هو سطر الأوامر، لماذا يستحق التعلم، وكيف تتقن أساسياته خطوة بخطوة، وصولًا لمفاهيم متقدمة مثل معالجة النصوص والبرمجة النصية البسيطة.
ما هو سطر الأوامر أصلاً؟
سطر الأوامر (Command Line) هو طريقة للتفاعل مع الحاسوب عبر كتابة أوامر نصية بدلاً من النقر على أيقونات وقوائم. البرنامج الذي يستقبل هذه الأوامر ويعالجها يُسمى "الصدفة" (Shell)، وأشهرها في لينكس هي Bash، رغم وجود بدائل مثل Zsh وFish تقدم ميزات إضافية وواجهة أكثر تلوينًا.
"الطرفية" (Terminal) هي النافذة التي تشغّل الصدفة وتعرض لك نتائج الأوامر. الفرق بسيط: الطرفية هي "الشاشة"، والصدفة هي "البرنامج" الذي يفهم ما تكتبه فعليًا.
لماذا تتعلم سطر الأوامر رغم توفر الواجهة الرسومية؟
ليس عليك تعلمه إن كان استخدامك بسيطًا، لكن هناك أسبابًا عملية قوية تجعله يستحق الوقت المستثمر فيه:
- السرعة: تنفيذ مهمة معينة عبر أمر واحد أسرع غالبًا من التنقل بين عدة قوائم رسومية
- الدقة: الأوامر تنفذ بالضبط ما تطلبه، دون لبس في التفسير كما قد يحدث أحيانًا مع واجهة رسومية معقدة
- الأتمتة: يمكنك حفظ سلسلة أوامر في ملف واحد (سكربت) وتشغيلها لاحقًا تلقائيًا، وهذا غير ممكن بنفس السهولة عبر النقر اليدوي
- العمل عن بُعد: خوادم لينكس غالبًا لا تملك واجهة رسومية أصلاً، فالطرفية هي الطريقة الوحيدة للتحكم فيها عبر اتصال SSH
- فهم أعمق للنظام: تعلم سطر الأوامر يكشف لك كيف يعمل النظام فعليًا تحت الواجهة الرسومية، وهذا مفيد جدًا عند تشخيص المشاكل
كيف تفتح الطرفية؟
في أغلب توزيعات لينكس، يمكنك فتح الطرفية بإحدى هذه الطرق:
-
اختصار لوحة المفاتيح
Ctrl + Alt + Tفي أغلب البيئات (Cinnamon، GNOME، Xfce) - البحث عن "Terminal" أو "طرفية" في قائمة التطبيقات
- النقر بزر الفأرة الأيمن على سطح المكتب واختيار "Open Terminal Here" في بعض البيئات
بمجرد فتحها، ستجد سطرًا يبدأ عادة باسم المستخدم واسم الجهاز، ثم رمز $ ينتظر أن تكتب أمرك.
تشريح الأمر: البنية الأساسية
أغلب أوامر لينكس تتبع نمطًا ثابتًا يسهّل فهم أي أمر جديد تصادفه:
الأمر [خيارات] [وسيطات] مثال عملي:
ls -la /home/user ls: اسم الأمر نفسه (عرض محتويات مجلد)-
-la: خيارات تُعدّل سلوك الأمر (l للتفاصيل، a لإظهار الملفات المخفية) -
/home/user: الوسيطة، أي المسار الذي تريد تطبيق الأمر عليه
لا تحتاج حفظ كل الخيارات عن ظهر قلب. أغلب الأوامر تدعم خيار
--help، وتوفر صفحة توثيق كاملة عبر أمر
man (اختصار Manual)، مثل: man ls.
التنقل بين الملفات والمجلدات
هذه أول مجموعة أوامر يحتاجها أي مستخدم جديد للطرفية:
-
pwd: يعرض المسار الحالي الذي تقف فيه (Print Working Directory) ls: يعرض محتويات المجلد الحالي-
cd اسم_المجلد: ينقلك لمجلد آخر (Change Directory) cd ..: يرجعك مجلدًا واحدًا للخلف-
cd ~أوcdوحدها: تعيدك مباشرة للمجلد الرئيسي (Home) cd -: تعيدك للمجلد الذي كنت فيه قبل آخر تنقل
نصيحة عملية: استخدم مفتاح Tab لإكمال أسماء الملفات والمجلدات
تلقائيًا، هذا يوفر وقتًا كبيرًا ويقلل أخطاء الكتابة.
إدارة الملفات: إنشاء، نسخ، نقل، حذف
mkdir اسم_المجلد: إنشاء مجلد جديدtouch اسم_الملف: إنشاء ملف فارغ جديد-
cp المصدر الوجهة: نسخ ملف أو مجلد (أضف-rلنسخ مجلد بمحتوياته) -
mv المصدر الوجهة: نقل أو إعادة تسمية ملف أو مجلد -
rm اسم_الملف: حذف ملف (أضف-rلحذف مجلد كامل، وكن حذرًا جدًا) rmdir اسم_المجلد: حذف مجلد فارغ فقط
تحذير مهم: أمر rm في لينكس لا يرسل الملفات
لسلة المحذوفات، بل يحذفها نهائيًا وفوريًا. تحقق دائمًا من المسار قبل الضغط
على Enter، خصوصًا عند استخدام -rf.
عرض محتوى الملفات وقراءتها
-
cat اسم_الملف: يعرض محتوى الملف كاملاً دفعة واحدة، مناسب للملفات القصيرة -
less اسم_الملف: يعرض الملف صفحة بصفحة، مناسب للملفات الطويلة (اخرج بالضغط على q) head اسم_الملف: يعرض أول عشرة أسطر فقطtail اسم_الملف: يعرض آخر عشرة أسطر فقط-
tail -f اسم_الملف: يراقب الملف ويعرض أي إضافات جديدة له فوريًا، مفيد جدًا لمتابعة ملفات السجلات (Logs)
الصلاحيات: chmod وchown وsudo
لينكس نظام متعدد المستخدمين بطبيعته، لذا كل ملف يحمل صلاحيات تحدد من يمكنه قراءته أو تعديله أو تشغيله.
-
chmod: يغيّر صلاحيات ملف، مثلchmod +x script.shلجعل ملف قابلًا للتنفيذ -
chown: يغيّر مالك الملف أو المجموعة المرتبطة به -
sudo: يشغّل أمرًا واحدًا بصلاحيات المدير (Superuser)، ويطلب كلمة مرورك للتأكيد
صلاحيات الملفات تظهر بصيغة مثل rwxr-xr--: تعني القراءة
(r) والكتابة (w) والتنفيذ (x) لكل من المالك، المجموعة، وباقي
المستخدمين على الترتيب.
تنبيه: تجنب استخدام sudo إلا عند الضرورة
الفعلية، ولا تنسخ أوامر تتضمنه من الإنترنت دون فهم ما تفعله بالضبط.
إدارة الحزم من الطرفية
كل توزيعة لينكس تستخدم مدير حزم مختلفًا، لكن المفهوم نفسه في الجميع: البحث، التثبيت، التحديث، والحذف.
- أوبونتو / Debian / Mint:
sudo apt install اسم_البرنامج - Fedora / RHEL:
sudo dnf install اسم_البرنامج - Arch Linux:
sudo pacman -S اسم_البرنامج - openSUSE:
sudo zypper install اسم_البرنامج
تحديث النظام بالكامل عادة عبر أمرين متتاليين، مثلًا في أوبونتو:
sudo apt update ثم sudo apt upgrade.
إدارة العمليات (Processes)
ps aux: يعرض قائمة بكل العمليات الجارية حاليًا-
topأوhtop(الثاني أكثر تفاعلية): يعرض العمليات الجارية مع استهلاكها للموارد بشكل مباشر ومحدث -
kill رقم_العملية: ينهي عملية محددة برقم معرّفها (PID) -
kill -9 رقم_العملية: إنهاء إجباري لعملية متجمدة لا تستجيب للإنهاء العادي
الأنابيب (Pipes) وإعادة التوجيه (Redirection)
هذه من أقوى مفاهيم سطر الأوامر: القدرة على ربط مخرجات أمر كمدخلات لأمر آخر مباشرة، دون خطوات وسيطة.
-
|(الأنبوب): يمرر مخرجات أمر لأمر آخر، مثلls -la | grep ".txt"لعرض ملفات النصوص فقط ضمن قائمة أطول -
>: يحفظ مخرجات أمر في ملف (ويستبدل محتواه إن كان موجودًا) -
>>: يضيف مخرجات أمر لنهاية ملف موجود دون حذف محتواه السابق -
<: يقرأ مدخلات أمر من ملف بدلاً من لوحة المفاتيح
معالجة النصوص: grep وsed وawk
ثلاثة أدوات أساسية تجعل لينكس بيئة قوية جدًا لمعالجة النصوص والسجلات:
-
grep: يبحث عن نص محدد داخل ملف أو مخرجات أمر، مثلgrep "error" logfile.txt -
sed: يعدّل النصوص تلقائيًا وفق قواعد محددة، مثل استبدال كلمة بأخرى في ملف كامل دون فتحه يدويًا -
awk: أداة أقوى لمعالجة النصوص المنظمة في أعمدة وصفوف، مفيدة جدًا لاستخراج بيانات محددة من ملفات كبيرة
أوامر الشبكة الأساسية
-
ping عنوان_الموقع: يتحقق من الاتصال بجهاز أو موقع معين -
curl الرابط: يجلب محتوى صفحة ويب أو يرسل طلبات لواجهات برمجية مباشرة من الطرفية wget الرابط: يحمّل ملفًا من الإنترنت مباشرة-
ssh user@عنوان_الخادم: يفتح اتصالًا آمنًا بخادم بعيد للتحكم فيه عن بُعد
مقدمة في البرمجة النصية (Shell Scripting)
بمجرد أن تعتاد على الأوامر الفردية، الخطوة الطبيعية التالية هي دمجها في ملف واحد (سكربت) لتنفيذها تلقائيًا كمجموعة.
#!/bin/bash
echo "بدء النسخ الاحتياطي..."
mkdir -p ~/backup
cp -r ~/Documents ~/backup/
echo "تم الانتهاء بنجاح."
بعد حفظ هذا في ملف مثلاً باسم backup.sh، تمنحه صلاحية
التنفيذ عبر chmod +x backup.sh، ثم تشغله بكتابة ./backup.sh.
هذا مثال بسيط جدًا، لكنه يوضح الفكرة الجوهرية: أي مهمة متكررة يمكن تحويلها لسكربت واحد ينفذها بضغطة واحدة بدلاً من تكرار الأوامر يدويًا في كل مرة.
نصائح عملية تسرّع عملك
- استخدم مفتاحي الأسهم ↑ و↓ للتنقل بين الأوامر التي كتبتها سابقًا، بدلاً من إعادة كتابتها من الصفر
-
أمر
historyيعرض قائمة كل الأوامر التي نفذتها مؤخرًا، ويمكنك البحث فيها بالضغط علىCtrl + R -
أضف
aliasللأوامر الطويلة التي تكررها كثيرًا، مثلalias ll='ls -la'في ملف إعدادات الصدفة -
استخدم
clearلتنظيف شاشة الطرفية من الفوضى البصرية المتراكمة -
في حالة الشك بأي أمر جديد، جرّبه أولاً مع خيار
--dry-runإن كان متوفرًا، لمعاينة ما سيحدث دون تنفيذه فعليًا
جدول مرجعي لأكثر الأوامر استخدامًا
| الأمر | الوظيفة |
|---|---|
pwd | عرض المسار الحالي |
ls -la | عرض كل الملفات بالتفصيل، بما فيها المخفية |
cd | التنقل بين المجلدات |
cp -r | نسخ مجلد بمحتوياته |
mv | نقل أو إعادة تسمية |
rm -r | حذف مجلد كامل (احذر) |
grep | البحث داخل النصوص |
chmod +x | منح صلاحية التنفيذ |
sudo apt update | تحديث قوائم الحزم (أوبونتو/Debian) |
top / htop | مراقبة العمليات والموارد |
man أمر | عرض دليل توثيق الأمر |
ssh user@host | الاتصال بخادم بعيد |
ملاحظات أمان مهمة قبل أن تبدأ
-
لا تنسخ وتلصق أوامر من الإنترنت دون فهم ما تفعله، خصوصًا إن كانت
تتضمن
sudoأوrm -rf -
تأكد دائمًا من المسار الحالي (
pwd) قبل تنفيذ أوامر حذف أو نسخ مؤثرة - احتفظ بنسخة احتياطية من الملفات المهمة قبل تجربة أوامر جديدة عليها لأول مرة
-
استخدم أدوات مثل
trash-cliبدلاً منrmالمباشر إن كنت تريد "سلة محذوفات" فعلية من الطرفية
مصادر خارجية للتعمق أكثر
هذه مصادر إنجليزية موثوقة ومجانية، تستحق الرجوع إليها لبناء مهارة حقيقية بسطر الأوامر بعد إتقان الأساسيات في هذا الدليل:
- The Linux Command Line (الكتاب المجاني الكامل): linuxcommand.org/tlcl.php — من أفضل المراجع المجانية المتاحة بصيغة PDF، يغطي كل شيء من الأساسيات حتى البرمجة النصية المتقدمة
- ExplainShell: explainshell.com — الصق أي أمر معقد وسيشرح لك كل جزء منه على حدة تلقائيًا
- GNU Coreutils Manual: gnu.org/software/coreutils — التوثيق الرسمي لأغلب الأوامر الأساسية مثل ls وcp وmv وrm
- Bash Reference Manual: gnu.org/software/bash/manual — المرجع الرسمي الكامل لصدفة Bash نفسها، مفيد جدًا عند كتابة سكربتات متقدمة
- tldr pages: tldr.sh — بديل مبسط وسريع لصفحات man التقليدية، يعرض أمثلة عملية مباشرة بدل الشرح النظري الطويل
- OverTheWire Bandit (تدريب عملي تفاعلي): overthewire.org/wargames/bandit — سلسلة تحديات تفاعلية مجانية لتعلم سطر الأوامر عبر حل ألغاز فعلية خطوة بخطوة
خلاصة عملية
سطر الأوامر ليس عائقًا أمام استخدام لينكس، بل أداة اختيارية تفتح لك
مستوى تحكم أعمق كلما احتجته. لست مضطرًا لإتقان كل شيء في هذا الدليل
دفعة واحدة؛ ابدأ بأوامر التنقل الأساسية (cd وls وpwd)، ثم أضف تدريجيًا إدارة الملفات، فالصلاحيات،
فإدارة الحزم، حتى تصل لمرحلة كتابة سكربتاتك الخاصة دون أن تشعر
بصعوبة القفزة.
أفضل طريقة للتعلم الفعلي هي الممارسة المباشرة: افتح الطرفية الآن، وجرّب كل أمر ذكرناه في هذا الدليل على ملفات تجريبية غير مهمة، حتى تبني الثقة والحدس اللازمين قبل استخدامها على ملفاتك الحقيقية.
أسئلة شائعة
هل يمكنني كسر النظام بأوامر خاطئة في الطرفية؟
نظريًا نعم، خصوصًا مع أوامر تتضمن sudo أو حذفًا مؤثرًا، لكن
هذا لا يحدث عادة إلا بأوامر متعمدة وخطيرة تُنفَّذ دون فهم. الاستخدام العادي
الحذر آمن تمامًا.
ما الفرق بين Bash وZsh وFish؟
كلها "صدفات" تفهم نفس الأوامر الأساسية تقريبًا، لكنها تختلف في ميزات إضافية
مثل الإكمال التلقائي الذكي والتلوين والتخصيص. Bash هي الافتراضية في أغلب
التوزيعات.
هل أحتاج حفظ كل هذه الأوامر عن ظهر قلب؟
لا. أغلب المستخدمين المتمرسين يعتمدون على أمر man
وأدوات مثل tldr وExplainShell بدلاً من الحفظ الكامل، خصوصًا للأوامر النادرة
الاستخدام.
هل تعلم سطر الأوامر في لينكس يفيد في أنظمة أخرى؟
نعم بشكل كبير. أغلب المفاهيم (التنقل، معالجة النصوص، الصلاحيات) تنطبق
تقريبًا كما هي على macOS، وحتى ويندوز عبر WSL (Windows Subsystem for Linux)
أو PowerShell بمفاهيم مشابهة.