الأوامر الأساسية في أوبنتو

دليل شامل للأوامر الأساسية في نظام لينكس أوبنتو وكيفية استخدامها بشكل فعال

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

سطر الأوامر (Terminal) هو واجهة قوية للتفاعل مع نظام لينكس، وهو أحد الأدوات الأساسية التي يجب على كل مستخدم لينكس إتقانها. يتيح لك سطر الأوامر القيام بمهام متعددة بشكل سريع وفعال، والوصول إلى ميزات متقدمة قد لا تكون متاحة من خلال الواجهة الرسومية.

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

كيفية فتح سطر الأوامر (Terminal)

يمكنك فتح سطر الأوامر في أوبنتو بإحدى الطرق التالية:

  • اضغط على Ctrl + Alt + T (اختصار لوحة المفاتيح)
  • انقر على زر النشاط (Activities) واكتب "Terminal" في حقل البحث
  • استخدم قائمة التطبيقات: التطبيقات > الأدوات > Terminal

ملاحظات هامة حول استخدام الأوامر

  • أوامر لينكس حساسة لحالة الأحرف (Case Sensitive)، بمعنى أن File يختلف عن file
  • معظم الأوامر تقبل خيارات إضافية (options) تبدأ بشرطة واحدة - أو شرطتين --
  • يمكنك الحصول على معلومات حول أي أمر باستخدام command --help أو man command
  • استخدم مفتاح Tab لإكمال الأوامر أو أسماء الملفات تلقائيًا
  • استخدم السهمين لأعلى وأسفل للتنقل بين الأوامر السابقة

فئات الأوامر الأساسية

قمنا بتصنيف الأوامر حسب وظائفها المختلفة للمساعدة في تنظيم تعلمك

إدارة الملفات والمجلدات

أوامر للتنقل بين المجلدات وإنشاء وتعديل وحذف الملفات.

عرض الأوامر

إدارة النظام

أوامر لإدارة النظام والتحكم في العمليات والخدمات.

عرض الأوامر

إدارة المستخدمين

أوامر لإدارة المستخدمين والمجموعات والصلاحيات.

عرض الأوامر

أوامر الشبكة

أوامر لإدارة اتصالات الشبكة وتشخيص المشكلات.

عرض الأوامر

أوامر إدارة الملفات والمجلدات

أمر ls - عرض محتويات المجلد

يستخدم أمر ls لعرض محتويات المجلد الحالي من ملفات ومجلدات.

الصيغة الأساسية:

ls [options] [directory]

الخيارات الشائعة:

  • ls -l: عرض تفاصيل الملفات مثل الصلاحيات والحجم والمالك
  • ls -a: عرض جميع الملفات بما في ذلك الملفات المخفية
  • ls -h: عرض الأحجام بتنسيق مقروء للإنسان (KB, MB, GB)
  • ls -R: عرض محتويات المجلدات الفرعية بشكل متكرر

أمثلة:

# عرض محتويات المجلد الحالي
ls

# عرض محتويات المجلد /home بشكل مفصل
ls -l /home

# عرض جميع الملفات مع الحجم بصيغة مقروءة
ls -lah

أمر cd - التنقل بين المجلدات

يستخدم أمر cd للتنقل وتغيير المجلد الحالي.

الصيغة الأساسية:

cd [directory]

أمثلة:

# الانتقال إلى المجلد الرئيسي للمستخدم
cd

# الانتقال إلى مجلد محدد
cd /usr/local/bin

# الانتقال إلى المجلد الأصل
cd /

# الانتقال إلى المجلد السابق
cd ..

# الانتقال إلى المجلد الفرعي
cd Documents

أمر pwd - عرض المجلد الحالي

يستخدم أمر pwd لعرض مسار المجلد الحالي الذي تعمل فيه.

الصيغة الأساسية:

pwd

مثال:

# عرض المسار الكامل للمجلد الحالي
pwd

أمر mkdir - إنشاء مجلد

يستخدم أمر mkdir لإنشاء مجلدات جديدة.

الصيغة الأساسية:

mkdir [options] directory

الخيارات الشائعة:

  • mkdir -p: إنشاء المجلدات الأصل إذا لم تكن موجودة
  • mkdir -v: عرض رسالة لكل مجلد تم إنشاؤه

أمثلة:

# إنشاء مجلد جديد
mkdir new_folder

# إنشاء مجلد مع المجلدات الفرعية
mkdir -p projects/website/css

# إنشاء عدة مجلدات مرة واحدة
mkdir folder1 folder2 folder3

أمر rm - حذف ملفات ومجلدات

يستخدم أمر rm لحذف الملفات والمجلدات.

الصيغة الأساسية:

rm [options] file(s)

الخيارات الشائعة:

  • rm -i: طلب تأكيد قبل كل عملية حذف
  • rm -f: حذف قسري بدون تأكيد
  • rm -r: حذف متكرر للمجلدات ومحتوياتها

أمثلة:

# حذف ملف
rm file.txt

# حذف مجلد مع محتوياته
rm -r folder_name

# حذف قسري بدون تأكيد
rm -f file.txt

# حذف مجلد فارغ
rmdir empty_folder

تحذير: استخدم أمر rm -rf بحذر شديد، خاصة مع الامتيازات العالية، لأنه قد يؤدي إلى حذف ملفات مهمة بدون إمكانية استعادتها.

أمر cp - نسخ ملفات ومجلدات

يستخدم أمر cp لنسخ الملفات والمجلدات من مكان إلى آخر.

الصيغة الأساسية:

cp [options] source destination

الخيارات الشائعة:

  • cp -r: نسخ المجلدات ومحتوياتها بشكل متكرر
  • cp -i: طلب تأكيد قبل الكتابة فوق الملفات الموجودة
  • cp -v: وضع مفصل يعرض ما يتم نسخه

أمثلة:

# نسخ ملف
cp file.txt file_backup.txt

# نسخ ملف إلى مجلد آخر
cp file.txt /home/user/backup/

# نسخ مجلد مع محتوياته
cp -r folder_name /home/user/backup/

# نسخ عدة ملفات إلى مجلد
cp file1.txt file2.txt folder/

أمر mv - نقل وإعادة تسمية الملفات والمجلدات

يستخدم أمر mv لنقل الملفات والمجلدات أو إعادة تسميتها.

الصيغة الأساسية:

mv [options] source destination

الخيارات الشائعة:

  • mv -i: طلب تأكيد قبل الكتابة فوق الملفات الموجودة
  • mv -v: وضع مفصل يعرض ما يتم نقله

أمثلة:

# إعادة تسمية ملف
mv old_name.txt new_name.txt

# نقل ملف إلى مجلد آخر
mv file.txt /home/user/documents/

# نقل مجلد مع محتوياته
mv folder_name /home/user/documents/

# نقل عدة ملفات إلى مجلد
mv file1.txt file2.txt folder/

أمر cat - عرض محتوى الملف

يستخدم أمر cat لعرض محتوى الملفات النصية.

الصيغة الأساسية:

cat [options] file(s)

الخيارات الشائعة:

  • cat -n: عرض أرقام الأسطر
  • cat -b: ترقيم الأسطر غير الفارغة فقط

أمثلة:

# عرض محتوى ملف
cat file.txt

# عرض محتوى ملف مع أرقام الأسطر
cat -n file.txt

# دمج عدة ملفات وعرضها
cat file1.txt file2.txt

# إنشاء ملف جديد من المدخلات
cat > newfile.txt

أمر grep - البحث في الملفات

يستخدم أمر grep للبحث عن نص داخل الملفات.

الصيغة الأساسية:

grep [options] pattern file(s)

الخيارات الشائعة:

  • grep -i: تجاهل حالة الأحرف (كبيرة/صغيرة)
  • grep -r: بحث متكرر في المجلدات الفرعية
  • grep -n: عرض أرقام الأسطر
  • grep -v: عكس النتائج (عرض الأسطر التي لا تطابق النمط)

أمثلة:

# البحث عن كلمة في ملف
grep "search_term" file.txt

# البحث عن كلمة في جميع ملفات المجلد
grep "search_term" *

# البحث عن كلمة بتجاهل حالة الأحرف
grep -i "search_term" file.txt

# البحث عن كلمة في مجلد بشكل متكرر
grep -r "search_term" /path/to/directory

أمر find - البحث عن ملفات ومجلدات

يستخدم أمر find للبحث عن الملفات والمجلدات في نظام الملفات.

الصيغة الأساسية:

find [path] [expression]

الخيارات الشائعة:

  • find -name: البحث باسم الملف
  • find -type: البحث حسب النوع (f للملفات، d للمجلدات)
  • find -size: البحث حسب الحجم
  • find -mtime: البحث حسب تاريخ التعديل

أمثلة:

# البحث عن ملف باسم محدد
find /home -name "file.txt"

# البحث عن جميع ملفات PHP
find . -name "*.php"

# البحث عن المجلدات فقط
find /var -type d

# البحث عن الملفات المعدلة خلال الأيام السبعة الماضية
find /home -type f -mtime -7

أوامر إدارة النظام

أمر sudo - تنفيذ الأوامر بصلاحيات المدير

يستخدم أمر sudo لتنفيذ الأوامر بصلاحيات المستخدم الجذر (root).

الصيغة الأساسية:

sudo [command]

أمثلة:

# تثبيت برنامج باستخدام sudo
sudo apt install program_name

# تحرير ملف نظام
sudo nano /etc/fstab

# تشغيل الطرفية بصلاحيات المدير
sudo -i

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

أمر apt - إدارة الحزم

يستخدم أمر apt لإدارة الحزم والبرامج في أوبنتو (تثبيت، إزالة، تحديث).

الصيغة الأساسية:

apt [options] [command] [package]

أمثلة:

# تحديث قائمة الحزم
sudo apt update

# ترقية جميع الحزم المثبتة
sudo apt upgrade

# تثبيت برنامج
sudo apt install package_name

# إزالة برنامج
sudo apt remove package_name

# البحث عن حزمة
apt search package_name

# عرض معلومات حول حزمة
apt show package_name

أمر systemctl - إدارة الخدمات

يستخدم أمر systemctl لإدارة خدمات systemd والتحكم فيها.

الصيغة الأساسية:

systemctl [options] [command] [service_name]

أمثلة:

# بدء خدمة
sudo systemctl start service_name

# إيقاف خدمة
sudo systemctl stop service_name

# إعادة تشغيل خدمة
sudo systemctl restart service_name

# التحقق من حالة خدمة
systemctl status service_name

# تفعيل خدمة للعمل عند بدء تشغيل النظام
sudo systemctl enable service_name

# تعطيل خدمة من العمل عند بدء تشغيل النظام
sudo systemctl disable service_name

أمر ps - عرض العمليات الجارية

يستخدم أمر ps لعرض العمليات الجارية في النظام.

الصيغة الأساسية:

ps [options]

الخيارات الشائعة:

  • ps aux: عرض جميع العمليات لجميع المستخدمين
  • ps -e: عرض جميع العمليات
  • ps -f: عرض تفاصيل كاملة

أمثلة:

# عرض العمليات للمستخدم الحالي
ps

# عرض جميع العمليات الجارية بتنسيق مفصل
ps aux

# البحث عن عملية محددة
ps aux | grep process_name

أمر top - مراقبة العمليات

يستخدم أمر top لعرض العمليات الجارية ومراقبة استخدام موارد النظام بشكل فوري.

الصيغة الأساسية:

top [options]

استخدام مفاتيح أثناء تشغيل top:

  • q: الخروج من الأمر
  • k: إنهاء عملية
  • r: تغيير أولوية عملية
  • h: عرض المساعدة
  • M: ترتيب حسب استخدام الذاكرة
  • P: ترتيب حسب استخدام المعالج

أمر df - فحص مساحة القرص

يستخدم أمر df لعرض استخدام مساحة القرص في النظام.

الصيغة الأساسية:

df [options]

الخيارات الشائعة:

  • df -h: عرض المساحة بتنسيق مقروء للإنسان (KB, MB, GB)
  • df -T: عرض نوع نظام الملفات

أمثلة:

# عرض استخدام مساحة القرص بتنسيق مقروء
df -h

# عرض مساحة القرص لنظام ملفات محدد
df -h /home

أوامر إدارة المستخدمين

أمر useradd - إنشاء مستخدم جديد

يستخدم أمر useradd لإنشاء حساب مستخدم جديد في النظام.

الصيغة الأساسية:

sudo useradd [options] username

الخيارات الشائعة:

  • -m: إنشاء المجلد الرئيسي للمستخدم
  • -s: تحديد الصدفة (shell) الافتراضية
  • -G: إضافة المستخدم إلى مجموعات

أمثلة:

# إنشاء مستخدم جديد مع مجلد رئيسي
sudo useradd -m username

# إنشاء مستخدم مع صدفة محددة ومجموعات
sudo useradd -m -s /bin/bash -G sudo,users username

أمر passwd - تغيير كلمة المرور

يستخدم أمر passwd لتعيين أو تغيير كلمة مرور المستخدم.

الصيغة الأساسية:

passwd [options] [username]

أمثلة:

# تغيير كلمة المرور للمستخدم الحالي
passwd

# تغيير كلمة المرور لمستخدم آخر (يتطلب صلاحيات المدير)
sudo passwd username

أمر userdel - حذف مستخدم

يستخدم أمر userdel لحذف حساب مستخدم من النظام.

الصيغة الأساسية:

sudo userdel [options] username

الخيارات الشائعة:

  • -r: حذف المجلد الرئيسي للمستخدم وملفات البريد

أمثلة:

# حذف مستخدم
sudo userdel username

# حذف مستخدم مع المجلد الرئيسي وملفات البريد
sudo userdel -r username

أمر usermod - تعديل حساب مستخدم

يستخدم أمر usermod لتعديل خصائص حساب مستخدم موجود.

الصيغة الأساسية:

sudo usermod [options] username

الخيارات الشائعة:

  • -G: تعيين المجموعات الإضافية
  • -a: استخدامها مع -G لإضافة مجموعات دون إزالة المجموعات الحالية
  • -s: تغيير الصدفة الافتراضية
  • -L: قفل حساب المستخدم
  • -U: إلغاء قفل حساب المستخدم

أمثلة:

# إضافة مستخدم إلى مجموعة
sudo usermod -a -G groupname username

# تغيير الصدفة الافتراضية
sudo usermod -s /bin/bash username

# قفل حساب مستخدم
sudo usermod -L username

أمر groups - عرض المجموعات

يستخدم أمر groups لعرض المجموعات التي ينتمي إليها المستخدم.

الصيغة الأساسية:

groups [username]

أمثلة:

# عرض المجموعات للمستخدم الحالي
groups

# عرض المجموعات لمستخدم محدد
groups username

أمر chmod - تغيير صلاحيات الملفات

يستخدم أمر chmod لتغيير صلاحيات الوصول للملفات والمجلدات.

الصيغة الأساسية:

chmod [options] mode file(s)

أنماط الصلاحيات:

  • رقمي: 4 (قراءة)، 2 (كتابة)، 1 (تنفيذ)
  • رمزي: r (قراءة)، w (كتابة)، x (تنفيذ)

أمثلة:

# منح صلاحيات القراءة والكتابة والتنفيذ للجميع
chmod 777 file.txt

# منح صلاحيات القراءة والكتابة للمالك، والقراءة فقط للآخرين
chmod 644 file.txt

# إضافة صلاحية التنفيذ للمالك
chmod u+x script.sh

# تغيير الصلاحيات بشكل متكرر لمجلد
chmod -R 755 directory

أوامر الشبكة

أمر ifconfig - عرض وتكوين واجهات الشبكة

يستخدم أمر ifconfig لعرض وتكوين واجهات الشبكة (قد يحتاج إلى تثبيت net-tools).

الصيغة الأساسية:

ifconfig [interface] [options]

أمثلة:

# عرض جميع واجهات الشبكة
ifconfig

# عرض واجهة شبكة محددة
ifconfig eth0

# تفعيل واجهة شبكة
sudo ifconfig eth0 up

# تعطيل واجهة شبكة
sudo ifconfig eth0 down

# تعيين عنوان IP
sudo ifconfig eth0 192.168.1.100

أمر ip - إدارة واجهات وتوجيه الشبكة

يستخدم أمر ip لإدارة واجهات الشبكة والتوجيه (بديل حديث لـ ifconfig).

الصيغة الأساسية:

ip [options] [object] [command]

أمثلة:

# عرض معلومات واجهات الشبكة
ip addr show

# عرض معلومات مسارات التوجيه
ip route show

# تفعيل واجهة شبكة
sudo ip link set dev eth0 up

# تعيين عنوان IP
sudo ip addr add 192.168.1.100/24 dev eth0

أمر ping - اختبار الاتصال

يستخدم أمر ping لاختبار الاتصال مع هدف شبكة محدد.

الصيغة الأساسية:

ping [options] destination

الخيارات الشائعة:

  • -c: تحديد عدد حزم الاختبار
  • -i: تحديد الفاصل الزمني بين الحزم بالثواني

أمثلة:

# اختبار الاتصال مع خادم
ping google.com

# إرسال 5 حزم اختبار فقط
ping -c 5 8.8.8.8

# تغيير الفاصل الزمني بين الحزم
ping -i 2 google.com

أمر netstat - إحصائيات الشبكة

يستخدم أمر netstat لعرض إحصائيات الشبكة والاتصالات.

الصيغة الأساسية:

netstat [options]

الخيارات الشائعة:

  • -t: عرض اتصالات TCP
  • -u: عرض اتصالات UDP
  • -l: عرض المنافذ التي تستمع للاتصالات
  • -n: عرض العناوين الرقمية بدلاً من أسماء المضيفين
  • -p: عرض PID والبرنامج المستخدم للاتصال

أمثلة:

# عرض جميع اتصالات TCP
netstat -t

# عرض جميع المنافذ المفتوحة التي تستمع للاتصالات
netstat -tuln

# عرض جميع الاتصالات النشطة مع البرامج المستخدمة
sudo netstat -tulnp

أمر wget - تنزيل الملفات

يستخدم أمر wget لتنزيل الملفات من الإنترنت.

الصيغة الأساسية:

wget [options] [URL]

الخيارات الشائعة:

  • -O: تحديد اسم الملف المخرج
  • -c: استئناف التنزيل المتوقف
  • -r: تنزيل متكرر (للمواقع)

أمثلة:

# تنزيل ملف
wget https://example.com/file.zip

# تنزيل ملف وحفظه باسم محدد
wget -O output.zip https://example.com/file.zip

# استئناف تنزيل تم توقفه
wget -c https://example.com/large_file.iso

أمر ssh - الاتصال الآمن بجهاز بعيد

يستخدم أمر ssh للاتصال بأجهزة بعيدة بشكل آمن.

الصيغة الأساسية:

ssh [options] [user@]hostname

أمثلة:

# الاتصال بخادم بعيد
ssh username@server_ip

# الاتصال بمنفذ مخصص
ssh -p 2222 username@server_ip

# تنفيذ أمر على جهاز بعيد
ssh username@server_ip "ls -la"

# تشغيل تطبيق رسومي من جهاز بعيد
ssh -X username@server_ip

أمر scp - نقل الملفات بشكل آمن

يستخدم أمر scp لنقل الملفات بين الأجهزة عبر بروتوكول SSH.

الصيغة الأساسية:

scp [options] source target

أمثلة:

# نسخ ملف إلى جهاز بعيد
scp file.txt username@server_ip:/path/to/destination

# نسخ ملف من جهاز بعيد
scp username@server_ip:/path/to/file.txt /local/path

# نسخ مجلد بأكمله إلى جهاز بعيد
scp -r folder/ username@server_ip:/path/to/destination

الأسئلة الشائعة حول سطر الأوامر

كيف يمكنني الحصول على مساعدة حول أمر معين؟

يمكنك استخدام أحد الخيارات التالية:

  • استخدم command --help للحصول على معلومات مختصرة.
  • استخدم man command للحصول على دليل مفصل.
  • استخدم info command للحصول على معلومات تفصيلية في بعض الأوامر.

كيف يمكنني تنفيذ عدة أوامر في سطر واحد؟

يمكنك استخدام الفاصلة المنقوطة (;) أو && أو || حسب احتياجاتك:

  • command1 ; command2 - تنفيذ الأمر الثاني بغض النظر عن نجاح الأول.
  • command1 && command2 - تنفيذ الأمر الثاني فقط إذا نجح الأمر الأول.
  • command1 || command2 - تنفيذ الأمر الثاني فقط إذا فشل الأمر الأول.

كيف يمكنني إيقاف أمر قيد التشغيل؟

يمكنك الضغط على Ctrl + C لإيقاف الأمر الحالي، أو Ctrl + Z لتعليق الأمر ووضعه في الخلفية.

ما هي متغيرات البيئة وكيف يمكنني عرضها؟

متغيرات البيئة هي متغيرات تؤثر على سلوك البرامج في النظام. يمكن عرضها باستخدام الأوامر التالية:

# عرض جميع متغيرات البيئة
env

# عرض قيمة متغير بيئة محدد
echo $HOME

ما هي الاختصارات المفيدة في سطر الأوامر؟

هناك العديد من الاختصارات المفيدة، منها:

  • Tab - إكمال الأوامر وأسماء الملفات.
  • Up / Down - التنقل بين الأوامر السابقة.
  • Ctrl + R - البحث في الأوامر السابقة.
  • Ctrl + L - مسح الشاشة (مثل أمر clear).
  • Ctrl + A - الانتقال إلى بداية السطر.
  • Ctrl + E - الانتقال إلى نهاية السطر.

موارد إضافية لتعلم أوامر لينكس

نصيحة للمبتدئين

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