نظم تشغيل

أوامر لينكس: دليل فعّال للمبتدئين

1. تمهيد: لماذا نتعلم أوامر لينكس؟

يُعَدّ نظام لينكس عموداً فقرياً للبنية التحتية الرقمية الحديثة؛ فهو يُشغِّل الخوادم السحابية، وأجهزة «إنترنت الأشياء»، والحواسيب العملاقة، وحتى هواتف أندرويد. ورغم وفرة الواجهات الرسومية، يبقى التفاعل مع النظام عبر سطر الأوامر (Terminal) الطريقةَ الأكثر قوة ومرونة، إذ يُمكِّن المستخدم من أتمتة المهام، وضبط الأداء، واستكشاف الأخطاء بعمقٍ لا تتيحه النوافذ الرسومية. يستهدف هذا الدليلُ المبتدئين الساعين إلى تأسيس مهارات راسخة في استخدام الأوامر، مع مراعاة التدرّج من الأساسيات إلى الممارسات المتقدمة، والحرص على تضمين أمثلة عملية وحالات استخدام حقيقية.

1.1 فلسفة يونكس الداعمة لأوامر لينكس

  • بساطة التصميم: برنامج صغير يؤدي مهمةً محددةً بإتقان.
  • التركيب على هيئة سلاسل: ربط أدوات بسيطة لتحقيق مهام معقدة عبر الأنابيب.
  • الملف هو الواجهة المشتركة: كل شيء ملف، ما يسهِّل الكتابة والقراءة بين المكوّنات.
  • الشفافية وقابلية الفحص: أدوات مثل ps, top, lsof تُطلعك على ما يحدث حقاً.

2. البيئة التحضيرية

2.1 فتح الطرفية

  • اختصار لوحة المفاتيح: Ctrl + Alt + T في معظم توزيعات سطح المكتب.
  • تبديل طرفيات افتراضية: Ctrl + Alt + F1…F6 (نص خام)، والرجوع بـ Ctrl + Alt + F7 أو F1 حسب التوزيعة.

2.2 بناء جملة الأوامر

command [options] [arguments]
  • الأمر: الأداة المعنية (مثل ls).
  • الخيار: يعدّل سلوك الأمر (مثل -l للقائمة المطولة).
  • المعامل: الهدف أو الملف المراد التعامل معه.

2.3 أهم المفاتيح المختصرة في Bash

الاختصار الوظيفة مثال عملي
/ تصفح سجل الأوامر استدعاء أمر استخدمته سابقاً بسرعة
Ctrl + A الانتقال لبداية السطر تعديل بداية أمر طويل
Ctrl + E الانتقال لنهاية السطر إضافة وسيط جديد
Ctrl + R بحث تفاعلي في السجل Ctrl + R, ثم كتابة ssh لاسترجاع آخر اتصال

3. التنقّل وإدارة الملفات

3.1 التعرف على بنية النظام

  • / الجذر: أصل شجرة الملفات.
  • /home مجلدات المستخدمين.
  • /etc ملفّات الضبط.
  • /var بيانات متغيرة (سجلات، طوابير طباعة).
  • /usr برمجيات مستخدم (ثابتة غالباً).

3.2 الأوامر الأساسية

الأمر الوظيفة خيار بارز مثال
pwd إظهار المسار الحالي pwd
ls سرد المحتويات -l, -a, -h, --color ls -lah
cd تغيير الدليل .., - للرجوع cd /var/log
mkdir إنشاء مجلد جديد -p لإنشاء مسار متداخل mkdir -p ~/Projects/Go
touch إنشاء ملف فارغ أو تحديث طابعه الزمني touch notes.txt
cp نسخ ملفات أو مجلدات -r, -p, -i cp -ri dirA dirB
mv نقل أو إعادة تسمية -i, -u mv report.txt archive/
rm حذف -r, -f, -i rm -rf tmp/*

نصيحة سريعة: استبدل ‎rm‎ بـ ‎trash-cli‎ في بيئات التطوير لوجود سلة محذوفات قابلة للاسترجاع.

3.3 الأنابيب وإعادة التوجيه

  • إعادة التوجيه: > (إحلال)، >> (إلحاق)، 2> للأخطاء.
  • الأنابيب: grep, sort, uniq, cut, awk.
journalctl -u ssh.service | grep Failed | awk '{print $1,$2,$3,$11}'

4. فهم أذونات لينكس

4.1 نموذج الملكية والأذونات

  • المالك (u)، المجموعة (g)، الآخرون (o).
  • أنماط الوصول: قراءة (r)، كتابة (w)، تنفيذ (x).

4.2 أمر chmod و chown

نموذج رمزي نموذج عددي مثال الشرح
u+rwx 700 chmod 700 script.sh صلاحيات كاملة للمالك فقط
o-rwx 770 مع حذف chmod o= file منع الوصول عن الآخرين
# نقل ملكية شجرة كاملة
sudo chown -R $USER:$USER ~/public_html

4.3 خاصية ‎sudo‎ وأمان الجذر

  • إضافة مستخدم إلى مجموعة ‎sudo‎:
sudo usermod -aG sudo username
  • تتبع استخدام الأوامر المرفوعة الصلاحية في ‎/var/log/auth.log‎.

5. إدارة العمليات والخدمات

5.1 العمليات الحيّة

  • ps aux --sort=-%mem | head
  • top → تفاعلي، المفاتيح (k = قتل، r = تغيير أولوية).
  • htop (إن وجد).

5.2 التحكم في المهام

الأمر وظيفة مثال
& تشغيل في الخلفية long_job &
jobs عرض قائمة المهام jobs -l
fg/bg استئناف في الواجهة/الخلفية fg %2
kill إرسال إشارة kill -9 1234

5.3 النظام الفرعي systemd

  • بدء خدمة: sudo systemctl start nginx
  • إيقاف: sudo systemctl stop nginx
  • تمكين عند الإقلاع: sudo systemctl enable nginx
  • عرض السجل: journalctl -u nginx --since today

6. إدارة الحزم والتحديثات

6.1 ‎apt‎ (ديبيان/أوبونتو)

sudo apt update && sudo apt upgrade
sudo apt install build-essential git curl
sudo apt autoremove

6.2 ‎dnf‎ (فيدورا) و‎yum‎ (سنت أو إس القديم)

sudo dnf install httpd
sudo dnf history list

6.3 ‎pacman‎ (آرتش)

sudo pacman -Syu
sudo pacman -Ss python

6.4 مديري حزم عالميين

  • snap, flatpak, appimage للأجهزة المكتبية.
  • pip‎ للبايثون، ‎npm‎ للجاڤاسكربت، ‎cargo‎ للRust.

7. إدارة الشبكات

7.1 فحص الاتصال

الأمر الغرض مثال
ip a عرض الواجهات ip a show eth0
ping اختبار الوصول ping -c 4 8.8.8.8
traceroute تتبع المسار sudo traceroute google.com
ss فحص المنافذ sudo ss -tulnp

7.2 إعداد عناوين IP

sudo ip addr add 192.168.1.50/24 dev eth0
sudo ip route add default via 192.168.1.1

7.3 نقل الملفات

  • scp‎، ‎rsync‎ (يُستحسن مع ‎-a --progress‎).
  • sftp‎ لبيئات تفاعلية.

8. النسخ الاحتياطي والاستعادة

8.1 ‎rsync‎ المتقدم

rsync -avh --delete /home/ /mnt/backup/home_$(date +%F)/
  • يستخدم ‎inotifywatch‎ لمراقبة تغييرات الدلائل.

8.2 ‎tar‎ مع الضغط

صيغة مثال الشرح
.tar.gz tar -czvf site.tar.gz /var/www ضغط Gzip
.tar.bz2 tar -cjvf photo.tar.bz2 ~/Pictures ضغط Bzip2
.tar.zst tar -I zstd -cvf data.tar.zst data/ ضغط Zstandard

9. تحرير النصوص

9.1 ‎nano

  • Ctrl + O للحفظ، ‎Ctrl + X للخروج، ‎Ctrl + W للبحث.

9.2 ‎vim‎ للمستخدم المتقدم

  • أنماط: عادي، إدراج، أوامر، بصري.
  • أوامر سريعة:
    • :w حفظ.
    • :q! خروج بدون حفظ.
    • /pattern بحث.
    • dd, yy, p للحذف والنسخ واللصق.

10. المراقبة والأداء

أداة الوظيفة استخدام رئيسي
top مراقبة فورية للعمليات تحليل استهلاك الذاكرة
htop واجهة محسّنة لـ top تغيير الأولويات بسهولة
iotop مراقبة عمليات الإدخال/الإخراج تشخيص بطء الأقراص
glances عرض موحد للموارد لوحات بيانات حية
df و du استخدام أقراص التخزين du -h --max-depth=1 /home

11. الأمان وحماية النظام

11.1 إعداد جدار الحماية ‎ufw

sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow OpenSSH
sudo ufw enable
sudo ufw status verbose

11.2 تحديثات الأمان التلقائية

  • على أوبونتو: حزمة ‎unattended-upgrades‎.
  • إضافة إشعارات البريد الإلكتروني عند ترقية الحزم الحرجة.

11.3 ‎fail2ban‎ لمنع الهجمات العشوائية

  • يراقب سجلات SSH ويضيف حواجز مؤقتة لعنواين IP المخالِفة.
  • ملف الضبط في ‎/etc/fail2ban/jail.local‎.

12. الأتمتة والبرمجة النصية

12.1 أساسيات باش

#!/usr/bin/env bash
set -euo pipefail
for f in *.png; do
  convert "$f" -resize 50% "small_$f"
done

12.2 المهام المجدولة بـ cron

  • فتح جدول المستخدم: crontab -e
  • مثال نسخ احتياطي ليلي:
0 2 * * * /usr/local/bin/backup.sh

12.3 إدارة البيئات بـ virtualenv‎ و pyenv‎ للمشاريع البايثونية.


13. استكشاف الأخطاء وإصلاحها

العرض أدوات التشخيص خطوات المعالجة
بطء في الإقلاع systemd-analyze blame تعطيل الخدمات غير الضرورية
ارتفاع حمل المعالج top, pidstat تحديد العملية، مراجعة تكوينها
امتلاء ‎/var/log du -sh /var/log/* تدوير السجلات، ضغط القديم
تعارض مكتبات ldd, strace إعادة تثبيت الحزم، التحقق من الإصدارات

14. أوامر متقدمة لتعزيز الإنتاجية

14.1 ‎grep‎ مع العبارات النمطية

grep -R --color -nE "ssh\s+\(.*\)" /etc

14.2 ‎awk‎ للتحليل السريع

df -h | awk '$5+0 > 80 {print $0}'

14.3 ‎sed‎ لتحرير الملفات دفعة واحدة

sed -i 's/PermitRootLogin yes/PermitRootLogin no/' /etc/ssh/sshd_config

14.4 ‎tmux‎ لإدارة الجلسات

  • تقسيم النافذة: Ctrl + B ثم % أو ".
  • التنقل: Ctrl + B ثم مفاتيح الأسهم.
  • إعادة الاتصال بعد انقطاع SSH: tmux attach -t session_name.

15. مسار تعلّم مقترح للمبتدئ حتى الاحتراف

  1. إتقان الأساسيات: أسبوعان من التطبيق العملي على ‎ls, cd, cp, mv.
  2. مشروع مصغّر: إعداد خادم ويب Nginx محلي مع ‎systemd‎.
  3. توسيع المدارك: الغوص في ‎bash scripting‎، وجعل نسخ احتياطية مجدولة.
  4. أمن النظام: تطبيق ‎ufw, fail2ban‎، وتغيير المنفذ الافتراضي لـ SSH.
  5. إدارة الحزم المتقدمة: بناء حزم ‎.deb‎ أو ‎.rpm‎ بسيطة للتوزيع الداخلي.
  6. مساهمة مفتوحة المصدر: إرسال طلب دمج (Pull Request) في مشروع Bash أو C.
  7. يوصل إلى الاحتراف: فهم النواة، وتجميعها مع وحدات مخصَّصة، ودراسة SELinux أو AppArmor.

 

المزيد من المعلومات

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

أمر “ls”:
يُستخدم لعرض محتويات الدليل الحالي. يمكنك تخصيص الناتج باستخدام خيارات مثل -l لعرض المزيد من التفاصيل أو -a لعرض الملفات المخفية.

أمر “cd”:
يُستخدم للتنقل بين الدلائل. على سبيل المثال، “cd Documents” ينقلك إلى دليل الوثائق.

أمر “cp”:
يُستخدم لنسخ الملفات أو الدلائل. على سبيل المثال، “cp file1.txt /path/to/destination” يقوم بنسخ “file1.txt” إلى المسار المحدد.

أمر “mv”:
يُستخدم لنقل أو إعادة تسمية الملفات أو الدلائل. على سبيل المثال، “mv file1.txt /new/path” يقوم بنقل “file1.txt” إلى المسار الجديد.

أمر “rm”:
يُستخدم لحذف الملفات أو الدلائل. يجب استخدامه بحذر لتجنب فقدان البيانات. على سبيل المثال، “rm file1.txt” يحذف “file1.txt”.

أمر “mkdir”:
يُستخدم لإنشاء دليل جديد. على سبيل المثال، “mkdir new_directory” يقوم بإنشاء دليل جديد يسمى “new_directory”.

أمر “rmdir”:
يُستخدم لحذف دليل فارغ. يجب أن يكون الدليل خاليًا من الملفات. على سبيل المثال، “rmdir empty_directory” يحذف الدليل الفارغ “empty_directory”.

أمر “chmod”:
يُستخدم لتغيير أذونات الملفات أو الدلائل. على سبيل المثال، “chmod +x script.sh” يمنح التصريح لتشغيل السكريبت.

أمر “grep”:
يُستخدم للبحث عن نص محدد في ملف أو الناتج من أمر آخر. على سبيل المثال، “grep keyword file.txt” يبحث عن الكلمة المحددة في ملف “file.txt”.

أمر “pwd”:
يُستخدم لعرض المسار الحالي للدليل الذي تعمل فيه. على سبيل المثال، “pwd” سيظهر لك المسار الكامل للدليل الحالي.

أمر “touch”:
يُستخدم لإنشاء ملف جديد فارغ. على سبيل المثال، “touch new_file.txt” سينشئ ملفًا فارغًا يسمى “new_file.txt”.

أمر “cat”:
يُستخدم لعرض محتويات الملف. على سبيل المثال، “cat file.txt” سيعرض محتويات ملف “file.txt” على الشاشة.

أمر “echo”:
يُستخدم لطباعة نص على الشاشة أو إرساله إلى ملف. على سبيل المثال، “echo Hello, Linux!” سيطبع النص على الشاشة.

أمر “nano” أو “vi”:
يُستخدم لتحرير الملفات النصية من خلال واجهة سطر الأوامر. “nano” و “vi” هما محرران نصيان شهيران. على سبيل المثال، “nano filename.txt” يفتح محرر النانو لتحرير الملف.

أمر “top”:
يُستخدم لعرض قائمة بالعمليات الجارية على النظام مع معلومات حية حول استخدام الموارد.

أمر “ps”:
يُستخدم لعرض قائمة بالعمليات الجارية. يمكنك تخصيص الناتج باستخدام الخيارات المختلفة، مثل “ps aux” لعرض معلومات تفصيلية.

أمر “kill”:
يُستخدم لإرسال إشارة إلى عملية لإيقافها. على سبيل المثال، “kill -9 PID” يقوم بإيقاف عملية باستخدام رقم التعريف الفريد (PID).

أمر “wget”:
يُستخدم لتنزيل الملفات من الإنترنت مباشرة إلى نظام لينكس. على سبيل المثال، “wget URL” يقوم بتنزيل الملف المتاح في الرابط المحدد.

هذه مجرد بعض الأوامر الإضافية التي قد تفيدك في استكشاف وفهم لينكس. يتميز لينكس بتوفير مجموعة واسعة من الأدوات والأوامر لتلبية احتياجات المستخدمين المختلفة. يُشجع دائمًا على قراءة الوثائق والمراجع لكل أمر للحصول على تحليل أعمق وتعلم أفضل كيفية استخدام هذه الأوامر بشكل فعال.

الكلمات المفتاحية

المقال تناول مجموعة من الأوامر الأساسية في نظام التشغيل لينكس، والكلمات الرئيسية المستعرضة هي:

  1. أوامر لينكس:
    • شرح: يشير إلى الأوامر والأدوات التي يمكن استخدامها في نظام التشغيل لينكس.
  2. ls:
    • شرح: يُستخدم لعرض محتويات الدليل الحالي.
  3. cd:
    • شرح: يُستخدم للتنقل بين الدلائل.
  4. cp:
    • شرح: يُستخدم لنسخ الملفات أو الدلائل.
  5. mv:
    • شرح: يُستخدم لنقل أو إعادة تسمية الملفات أو الدلائل.
  6. rm:
    • شرح: يُستخدم لحذف الملفات أو الدلائل.
  7. mkdir:
    • شرح: يُستخدم لإنشاء دليل جديد.
  8. rmdir:
    • شرح: يُستخدم لحذف دليل فارغ.
  9. chmod:
    • شرح: يُستخدم لتغيير أذونات الملفات أو الدلائل.
  10. grep:
    • شرح: يُستخدم للبحث عن نص محدد في ملف أو الناتج من أمر آخر.
  11. pwd:
    • شرح: يُستخدم لعرض المسار الحالي للدليل.
  12. touch:
    • شرح: يُستخدم لإنشاء ملف جديد فارغ.
  13. cat:
    • شرح: يُستخدم لعرض محتويات الملف.
  14. echo:
    • شرح: يُستخدم لطباعة نص على الشاشة أو إرساله إلى ملف.
  15. nano و vi:
    • شرح: محرّري نص يُستخدمان لتحرير الملفات النصية.
  16. top:
    • شرح: يُستخدم لعرض قائمة بالعمليات الجارية على النظام مع معلومات حية.
  17. ps:
    • شرح: يُستخدم لعرض قائمة بالعمليات الجارية.
  18. kill:
    • شرح: يُستخدم لإرسال إشارة إلى عملية لإيقافها.
  19. wget:
    • شرح: يُستخدم لتنزيل الملفات من الإنترنت مباشرة.

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

16. خاتمة

التعامل مع أوامر لينكس لا يقتصر على حفظ عدد من التعليمات، بل يتمثل في تبنّي عقلية «المطور المشغّل» (DevOps) التي توظّف الأتمتة، والمراقبة، والتحسين المستمر. كل أمرٍ تتعلمه هو حجر أساس في بناء منظومة معرفية تمكّنك من إدارة الخوادم، وكتابة نصوص صيانة موثوقة، وتأمين شبكاتك. استثمر وقتك في التجربة العملية، وثق بأن الأخطاء التي ستصادفها هي البوابة الحقيقية إلى الفهم العميق.


المراجع

  1. The Linux Command Line, William Shotts, No Starch Press.
  2. How Linux Works, Brian Ward, No Starch Press.
  3. الأدلة الرسمية لتوزيعات أوبونتو، فيدورا، وآرتش (ArchWiki).
  4. صفحات ‎man‎ وأداة ‎info‎ المدمجة في النظام.

زر الذهاب إلى الأعلى