ورقة مرجعية

أوامر لينكس: ورقة مرجعية للمبتدئين ومديري الأنظمة

آخر تحديث: · Skillaria.Top

تنقسم أوامر لينكس الأساسية إلى مجموعات: التنقل (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 filerw-r--r--: المالك يكتب، والآخرون يقرأون
chmod 755 dirrwxr-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.

تعلّم هذا الموضوع بالفيديو

يُشرح هذا الموضوع بالتفصيل مع التطبيق العملي في دورة «Linux: с нуля до уверенного администрирования».

الانتقال إلى الدورة