دليل شامل للأوامر الأساسية في نظام لينكس أوبنتو وكيفية استخدامها بشكل فعال
سطر الأوامر (Terminal) هو واجهة قوية للتفاعل مع نظام لينكس، وهو أحد الأدوات الأساسية التي يجب على كل مستخدم لينكس إتقانها. يتيح لك سطر الأوامر القيام بمهام متعددة بشكل سريع وفعال، والوصول إلى ميزات متقدمة قد لا تكون متاحة من خلال الواجهة الرسومية.
في هذا الدليل، سنستعرض الأوامر الأساسية في أوبنتو لينكس التي ستساعدك على التنقل في النظام وإدارته بكفاءة. سنقسم الأوامر إلى فئات لتسهيل فهمها واستخدامها.
يمكنك فتح سطر الأوامر في أوبنتو بإحدى الطرق التالية:
Ctrl + Alt + T
(اختصار لوحة المفاتيح)File
يختلف عن file
-
أو شرطتين --
command --help
أو man command
Tab
لإكمال الأوامر أو أسماء الملفات تلقائيًاقمنا بتصنيف الأوامر حسب وظائفها المختلفة للمساعدة في تنظيم تعلمك
يستخدم أمر ls
لعرض محتويات المجلد الحالي من ملفات ومجلدات.
ls [options] [directory]
ls -l
: عرض تفاصيل الملفات مثل الصلاحيات والحجم والمالكls -a
: عرض جميع الملفات بما في ذلك الملفات المخفيةls -h
: عرض الأحجام بتنسيق مقروء للإنسان (KB, MB, GB)ls -R
: عرض محتويات المجلدات الفرعية بشكل متكرر# عرض محتويات المجلد الحالي
ls
# عرض محتويات المجلد /home بشكل مفصل
ls -l /home
# عرض جميع الملفات مع الحجم بصيغة مقروءة
ls -lah
يستخدم أمر cd
للتنقل وتغيير المجلد الحالي.
cd [directory]
# الانتقال إلى المجلد الرئيسي للمستخدم
cd
# الانتقال إلى مجلد محدد
cd /usr/local/bin
# الانتقال إلى المجلد الأصل
cd /
# الانتقال إلى المجلد السابق
cd ..
# الانتقال إلى المجلد الفرعي
cd Documents
يستخدم أمر pwd
لعرض مسار المجلد الحالي الذي تعمل فيه.
pwd
# عرض المسار الكامل للمجلد الحالي
pwd
يستخدم أمر mkdir
لإنشاء مجلدات جديدة.
mkdir [options] directory
mkdir -p
: إنشاء المجلدات الأصل إذا لم تكن موجودةmkdir -v
: عرض رسالة لكل مجلد تم إنشاؤه# إنشاء مجلد جديد
mkdir new_folder
# إنشاء مجلد مع المجلدات الفرعية
mkdir -p projects/website/css
# إنشاء عدة مجلدات مرة واحدة
mkdir folder1 folder2 folder3
يستخدم أمر 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 [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 [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 [options] file(s)
cat -n
: عرض أرقام الأسطرcat -b
: ترقيم الأسطر غير الفارغة فقط# عرض محتوى ملف
cat file.txt
# عرض محتوى ملف مع أرقام الأسطر
cat -n file.txt
# دمج عدة ملفات وعرضها
cat file1.txt file2.txt
# إنشاء ملف جديد من المدخلات
cat > newfile.txt
يستخدم أمر 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 [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
لتنفيذ الأوامر بصلاحيات المستخدم الجذر (root).
sudo [command]
# تثبيت برنامج باستخدام sudo
sudo apt install program_name
# تحرير ملف نظام
sudo nano /etc/fstab
# تشغيل الطرفية بصلاحيات المدير
sudo -i
تحذير: استخدم sudo
فقط عند الضرورة، حيث أن تنفيذ الأوامر بصلاحيات المدير يمكن أن يسبب ضررًا للنظام إذا تم استخدامه بشكل غير صحيح.
يستخدم أمر 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
لإدارة خدمات 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 [options]
ps aux
: عرض جميع العمليات لجميع المستخدمينps -e
: عرض جميع العملياتps -f
: عرض تفاصيل كاملة# عرض العمليات للمستخدم الحالي
ps
# عرض جميع العمليات الجارية بتنسيق مفصل
ps aux
# البحث عن عملية محددة
ps aux | grep process_name
يستخدم أمر top
لعرض العمليات الجارية ومراقبة استخدام موارد النظام بشكل فوري.
top [options]
q
: الخروج من الأمرk
: إنهاء عمليةr
: تغيير أولوية عمليةh
: عرض المساعدةM
: ترتيب حسب استخدام الذاكرةP
: ترتيب حسب استخدام المعالجيستخدم أمر df
لعرض استخدام مساحة القرص في النظام.
df [options]
df -h
: عرض المساحة بتنسيق مقروء للإنسان (KB, MB, GB)df -T
: عرض نوع نظام الملفات# عرض استخدام مساحة القرص بتنسيق مقروء
df -h
# عرض مساحة القرص لنظام ملفات محدد
df -h /home
يستخدم أمر 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 [options] [username]
# تغيير كلمة المرور للمستخدم الحالي
passwd
# تغيير كلمة المرور لمستخدم آخر (يتطلب صلاحيات المدير)
sudo passwd username
يستخدم أمر userdel
لحذف حساب مستخدم من النظام.
sudo userdel [options] username
-r
: حذف المجلد الرئيسي للمستخدم وملفات البريد# حذف مستخدم
sudo userdel username
# حذف مستخدم مع المجلد الرئيسي وملفات البريد
sudo userdel -r username
يستخدم أمر 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 [username]
# عرض المجموعات للمستخدم الحالي
groups
# عرض المجموعات لمستخدم محدد
groups username
يستخدم أمر chmod
لتغيير صلاحيات الوصول للملفات والمجلدات.
chmod [options] mode file(s)
# منح صلاحيات القراءة والكتابة والتنفيذ للجميع
chmod 777 file.txt
# منح صلاحيات القراءة والكتابة للمالك، والقراءة فقط للآخرين
chmod 644 file.txt
# إضافة صلاحية التنفيذ للمالك
chmod u+x script.sh
# تغيير الصلاحيات بشكل متكرر لمجلد
chmod -R 755 directory
يستخدم أمر 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
لإدارة واجهات الشبكة والتوجيه (بديل حديث لـ 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 [options] destination
-c
: تحديد عدد حزم الاختبار-i
: تحديد الفاصل الزمني بين الحزم بالثواني# اختبار الاتصال مع خادم
ping google.com
# إرسال 5 حزم اختبار فقط
ping -c 5 8.8.8.8
# تغيير الفاصل الزمني بين الحزم
ping -i 2 google.com
يستخدم أمر netstat
لعرض إحصائيات الشبكة والاتصالات.
netstat [options]
-t
: عرض اتصالات TCP-u
: عرض اتصالات UDP-l
: عرض المنافذ التي تستمع للاتصالات-n
: عرض العناوين الرقمية بدلاً من أسماء المضيفين-p
: عرض PID والبرنامج المستخدم للاتصال# عرض جميع اتصالات TCP
netstat -t
# عرض جميع المنافذ المفتوحة التي تستمع للاتصالات
netstat -tuln
# عرض جميع الاتصالات النشطة مع البرامج المستخدمة
sudo netstat -tulnp
يستخدم أمر 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 [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
لنقل الملفات بين الأجهزة عبر بروتوكول 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
- الانتقال إلى نهاية السطر.أفضل طريقة لتعلم أوامر لينكس هي الممارسة المستمرة. حاول استخدام سطر الأوامر لإنجاز المهام اليومية البسيطة مثل التنقل بين المجلدات ونسخ الملفات بدلاً من استخدام واجهة المستخدم الرسومية. مع الوقت، ستصبح أكثر راحة وكفاءة في استخدام سطر الأوامر.