تنقسم أوامر لينكس الأساسية إلى مجموعات: التنقل (pwd وls وcd)، وإدارة الملفات (cp وmv وrm وmkdir)، والصلاحيات (chmod وchown)، والحزم (apt)، والعمليات (ps وtop وkill)، والبحث ومعالجة النصوص (find وgrep وsed وawk)، والشبكة (ip وss وcurl)، والخدمات (systemctl وjournalctl). تعرض الجداول التالية الأوامر مع أمثلة تغطي معظم العمل اليومي في الطرفية.
تُجمَع أوامر لينكس في هذه الورقة المرجعية حسب المهام: العثور على ملف، أو تثبيت حزمة، أو إنهاء عملية متوقفة، أو استخراج سطر من السجل، أو التحقق من منفذ. تم اختبار الأوامر على Ubuntu وDebian، ويعمل معظمها في التوزيعات الأخرى أيضاً، والاختلاف الأساسي يكون في مدير الحزم.
المساعدة والتلميحات
| الأمر | الوظيفة |
man ls | الدليل الكامل للأمر. الخروج بالحرف q، والبحث بـ /كلمة |
ls --help | شرح موجز للخيارات |
type cd | معرفة هل هو أمر مدمج أو اسم مستعار أو ملف |
which python3 | مسار الملف التنفيذي |
history | سجل الأوامر؛ الأمر !123 يعيد تنفيذ الأمر رقم 123 |
Ctrl+R | البحث في السجل |
Ctrl+C / Ctrl+D | إيقاف الأمر / إغلاق الواجهة |
التنقل في نظام الملفات
| الأمر | الوظيفة |
pwd | المجلد الحالي |
ls -la | كل الملفات بما فيها المخفية، مع الصلاحيات والأحجام |
ls -lh | الأحجام بوحدات مقروءة (K، M، G) |
ls -lt | ترتيب حسب وقت التعديل |
cd /var/log | الانتقال بالمسار المطلق |
cd .. / cd ~ / cd - | المجلد الأعلى / المجلد الشخصي / المجلد السابق |
tree -L 2 | شجرة المجلدات بعمق مستويين (حزمة tree) |
التعامل مع الملفات والمجلدات
| الأمر | الوظيفة |
touch file.txt | إنشاء ملف فارغ، أو تحديث وقت التعديل |
mkdir -p a/b/c | إنشاء المجلدات مع المجلدات الأب |
cp file.txt backup.txt | نسخ ملف |
cp -r src/ dst/ | نسخ مجلد بشكل متكرر |
mv old.txt new.txt | إعادة التسمية أو النقل |
rm file.txt | حذف ملف (بدون سلة المحذوفات) |
rm -r dir/ | حذف مجلد مع محتوياته؛ الخيار -f يحذف دون سؤال، فاستخدمه بحذر |
rmdir dir | حذف مجلد فارغ |
ln -s /opt/app/current app | إنشاء رابط رمزي |
stat file.txt | تفاصيل: الحجم والصلاحيات وinode والتواريخ |
file image.bin | تحديد نوع الملف من محتواه |
عرض المحتوى
| الأمر | الوظيفة |
cat file | عرض الملف كاملاً |
less file | عرض مقسّم إلى صفحات، والبحث بـ /، والخروج بـ q |
head -n 20 file | أول 20 سطراً |
tail -n 50 file | آخر 50 سطراً |
tail -f /var/log/syslog | متابعة الملف لحظياً |
wc -l file | عدد الأسطر |
diff a.conf b.conf | الفروق بين ملفين |
الصلاحيات والمالكون
| الأمر | الوظيفة |
chmod +x script.sh | السماح بالتنفيذ |
chmod 644 file | rw-r--r--: المالك يكتب، والآخرون يقرأون |
chmod 755 dir | rwxr-xr-x: شائع للمجلدات والسكريبتات |
chmod 600 ~/.ssh/id_ed25519 | المالك فقط: للمفاتيح الخاصة |
sudo chown www-data:www-data file | تغيير المالك والمجموعة |
sudo chown -R alice /srv/app | تغيير المالك بشكل متكرر |
id | معرّف المستخدم UID، ومعرّف المجموعة GID، والمجموعات |
sudo -i | فتح واجهة root |
sudo usermod -aG docker alice | إضافة مستخدم إلى مجموعة |
الحزم (apt، في Debian وUbuntu)
| الأمر | الوظيفة |
sudo apt update | تحديث قوائم الحزم من المستودعات |
sudo apt upgrade | ترقية الحزم المثبتة |
sudo apt install nginx | تثبيت حزمة |
sudo apt remove nginx | الحذف مع الإبقاء على الإعدادات؛ الأمر purge يحذفها أيضاً |
sudo apt autoremove | حذف الاعتماديات غير اللازمة |
apt search htop | البحث عن حزمة |
apt show nginx | الوصف والإصدار |
dpkg -l | grep nginx | التحقق من تثبيت الحزمة |
dpkg -L nginx | الملفات التي ثبّتتها الحزمة |
في RHEL وFedora وRocky Linux تكون المقابلات: dnf install، dnf remove، dnf upgrade، وrpm -qa.
البيئة والملف الشخصي
| الأمر | الوظيفة |
echo $PATH | الأماكن التي تبحث فيها الواجهة عن البرامج |
env | كل متغيرات البيئة |
export APP_ENV=prod | تعيين متغير للجلسة الحالية والعمليات الفرعية |
alias ll='ls -la' | اختصار لأمر |
source ~/.bashrc | إعادة قراءة الملف الشخصي دون تسجيل خروج |
crontab -e / crontab -l | تحرير / عرض مهام cron |
العمليات
| الأمر | الوظيفة |
ps aux | كل العمليات مع المستخدم والمعالج والذاكرة |
ps aux | grep nginx | البحث عن عملية |
pgrep -a nginx | معرّف العملية وسطر أوامرها حسب الاسم |
top / htop | متابعة الحمل لحظياً |
kill 1234 | طلب إنهاء العملية (SIGTERM) |
kill -9 1234 | إنهاء إجباري (SIGKILL)، وهو الملاذ الأخير |
pkill -f "python app.py" | إنهاء العملية حسب تطابق سطر الأوامر |
command &، jobs، fg | التشغيل في الخلفية وإدارة المهام |
nohup ./job.sh & | تستمر العملية بعد إغلاق الطرفية |
free -h | الذاكرة وswap |
uptime | مدة التشغيل ومتوسط الحمل |
strace -p 1234 | استدعاءات النظام الخاصة بالعملية |
الخدمات والسجلات (systemd)
| الأمر | الوظيفة |
systemctl status nginx | حالة الخدمة وآخر أسطر السجل |
sudo systemctl start|stop|restart nginx | تشغيل، أو إيقاف، أو إعادة تشغيل |
sudo systemctl reload nginx | إعادة قراءة الإعدادات دون إيقاف الخدمة |
sudo systemctl enable --now nginx | تفعيل التشغيل التلقائي وتشغيل الخدمة فوراً |
systemctl --failed | الوحدات التي فشلت |
journalctl -u nginx -f | سجل الخدمة لحظياً |
journalctl -u nginx --since "1 hour ago" | سجل آخر ساعة |
journalctl -p err -b | الأخطاء منذ آخر إقلاع |
البحث عن الملفات
| الأمر | الوظيفة |
find /var/log -name "*.log" | البحث بالاسم |
find . -type f -mtime -1 | الملفات المعدّلة خلال آخر يوم |
find / -size +500M 2>/dev/null | الملفات الكبيرة، مع إخفاء أخطاء الوصول |
find . -name "*.tmp" -delete | البحث ثم الحذف |
du -sh * | حجم كل عنصر في المجلد |
df -h | المساحة المتاحة في أنظمة الملفات |
البحث في النصوص ومعالجتها: grep وsed وawk وjq
| الأمر | الوظيفة |
grep "error" app.log | الأسطر التي تحتوي على الكلمة |
grep -i -n "error" app.log | دون تمييز بين الأحرف الكبيرة والصغيرة، مع أرقام الأسطر |
grep -r "listen" /etc/nginx/ | البحث في المجلد بشكل متكرر |
grep -v "DEBUG" app.log | الأسطر التي لا تحتوي على الكلمة |
grep -c "500" access.log | عدد التطابقات |
grep -E "warn|error" app.log | تعبيرات نمطية موسعة |
sed 's/old/new/g' file | الاستبدال وعرض النتيجة |
sed -i 's/8080/9090/' app.conf | الاستبدال داخل الملف مباشرة |
sed -n '10,20p' file | عرض الأسطر من 10 إلى 20 |
awk '{print $1}' access.log | الحقل الأول في كل سطر |
awk -F: '{print $1}' /etc/passwd | أسماء المستخدمين (الفاصل :) |
awk '$9 == 500' access.log | الأسطر التي يساوي فيها الحقل التاسع 500 |
sort | uniq -c | sort -rn | عدّ التكرارات وترتيبها حسب التكرار |
cut -d, -f2 data.csv | العمود الثاني من ملف CSV |
jq '.items[].name' data.json | استخراج الحقول من JSON |
مثال على سلسلة الأوامر: عشرة عناوين IP أرسلت أكبر عدد من الطلبات إلى nginx.
awk '{print $1}' /var/log/nginx/access.log | sort | uniq -c | sort -rn | head -10
إعادة التوجيه والأنابيب
| الصيغة | الوظيفة |
cmd > out.txt | كتابة المخرجات في ملف (مع الاستبدال) |
cmd >> out.txt | الإضافة في نهاية الملف |
cmd 2> err.txt | توجيه الأخطاء إلى ملف |
cmd > all.log 2>&1 | المخرجات والأخطاء في ملف واحد |
cmd1 | cmd2 | تمرير مخرجات أمر إلى مدخلات آخر |
cmd | tee out.txt | العرض على الشاشة مع الحفظ في ملف |
cmd1 && cmd2 | تنفيذ الثاني فقط إذا نجح الأول |
cmd1 || cmd2 | تنفيذ الثاني فقط إذا فشل الأول |
الأرشيفات
| الأمر | الوظيفة |
tar -czf backup.tar.gz dir/ | تجميع وضغط بصيغة gzip |
tar -xzf backup.tar.gz | فك الضغط |
tar -tzf backup.tar.gz | عرض محتويات الأرشيف |
zip -r site.zip site/ / unzip site.zip | أرشيفات zip |
الشبكة
| الأمر | الوظيفة |
ip a | واجهات الشبكة وعناوين IP |
ip r | جدول التوجيه |
ping -c 4 8.8.8.8 | التحقق من إمكانية الوصول إلى المضيف |
ss -tulpn | المنافذ المفتوحة والعمليات التي تستخدمها |
dig example.com / nslookup example.com | استعلام DNS |
curl -I https://example.com | عرض ترويسات الرد فقط |
curl -s https://api.example.com | jq | طلب إلى واجهة برمجية وعرض JSON منسّق |
wget URL | تنزيل ملف |
traceroute example.com | مسار الحزم إلى المضيف |
ssh user@host | الاتصال بالخادم |
ssh-keygen -t ed25519 | إنشاء زوج مفاتيح SSH |
scp file user@host:/tmp/ | نسخ ملف إلى الخادم |
rsync -avz dir/ user@host:/srv/dir/ | مزامنة مجلد |
sudo ufw status | قواعد جدار الحماية |
النظام والأقراص
| الأمر | الوظيفة |
uname -a | إصدار النواة والمعمارية |
cat /etc/os-release | التوزيعة وإصدارها |
hostnamectl | اسم المضيف ومعلومات النظام |
lsblk | الأقراص وأقسامها |
sudo mount /dev/sdb1 /mnt | تركيب قسم |
who / w | المستخدمون المسجّلون حالياً |
sudo reboot / sudo shutdown -h now | إعادة التشغيل / الإيقاف |
باختصار
للعمل اليومي تكفي عشرات قليلة من الأوامر: ls، cd، cp، mv، rm، chmod، sudo، apt، ps، kill، systemctl، journalctl، grep، find، ss، curl وssh. احفظ هذه الورقة وارجع إليها حتى تصبح الأوامر جزءاً من عادتك. تُشرح جميع مجموعات الأوامر عملياً في دورة لينكس.
كيف أخرج من man أو less؟
اضغط على الحرف q. للبحث داخل المحتوى اكتب الشرطة المائلة ثم الكلمة، والحرف n ينقلك إلى التطابق التالي.
كيف أخرج من محرر vim؟
اضغط Esc ثم اكتب :q! واضغط Enter للخروج دون حفظ، أو :wq للحفظ والخروج. المبتدئون يجدون nano أسهل لتحرير الملفات.
ما خطورة الأمر rm -rf؟
يحذف الأمر دون تأكيد ودون سلة المحذوفات، والخطأ في المسار (مثل مسافة زائدة قبل النجمة) قد يمحو مجلداً غير مقصود. تحقق من المسار بـ ls قبل التنفيذ.
كيف أعيد تنفيذ آخر أمر مع sudo؟
اكتب sudo !!، وستستبدل الواجهة !! بالأمر السابق كاملاً.
كيف أوقف أمراً متجمداً في الطرفية؟
الضغط على Ctrl+C يرسل إشارة الإيقاف. إذا لم يستجب الأمر، فابحث عن معرّف عمليته بـ ps أو pgrep في طرفية أخرى، ثم أنهِه بـ kill.