🐧 سطر أوامر لينكس
أوامر أساسية ومتقدمة للتنقل، الملفات، العمليات، الشبكات، المراقبة، الحزم والأتمتة. مناسبة لتدفقات عمل DevOps.
🔹 الأوامر الأساسية
الأمر |
مثال |
الوصف |
|---|---|---|
cat |
عرض محتوى الملف أو دمج عدة ملفات | |
cat file.txt |
عرض محتوى ملف |
|
cat file1 file2 |
دمج وإخراج ملفين |
|
cat file1 file2 > merged.txt |
دمج ملفات وحفظها في ملف جديد |
|
cd |
تغيير دليل العمل الحالي | |
cd /etc |
الانتقال إلى المسار المطلق |
|
cd ~ |
الانتقال إلى الدليل الرئيسي |
|
cd .. |
الرجوع مستوى واحد للأعلى |
|
cd - |
الرجوع إلى الدليل السابق |
|
clear |
مسح شاشة الطرفية | |
cp |
نسخ الملفات والمجلدات | |
cp file1.txt file2.txt |
نسخ ملف باسم جديد |
|
cp -r dir1 dir2 |
نسخ مجلد بشكل متكرر |
|
cp -i file.txt /tmp/ |
نسخ مع تأكيد قبل الاستبدال |
|
echo |
طباعة سلسلة نصية أو متغير بيئة | |
echo "Hello, World!" |
طباعة نص بسيط |
|
echo $HOME |
عرض مسار الدليل الرئيسي |
|
echo -e "1\t2\n3" |
تفسير تسلسلات الهروب ( ) |
|
history |
عرض سجل الأوامر | |
id |
عرض UID و GID ومجموعات المستخدم الحالي | |
ls |
إدراج الملفات والمجلدات | |
ls -l |
قائمة طويلة مع الأذونات والمالكين |
|
ls -a |
عرض الملفات المخفية |
|
ls -lh |
أحجام قابلة للقراءة البشرية |
|
mkdir |
إنشاء مجلدات | |
mkdir folder |
إنشاء مجلد واحد |
|
mkdir -p a/b/c |
إنشاء مجلدات متداخلة |
|
mkdir dir{1,2,3} |
إنشاء عدة مجلدات دفعة واحدة |
|
mv |
نقل أو إعادة تسمية الملفات/المجلدات | |
mv oldname.txt newname.txt |
إعادة تسمية ملف |
|
mv file.txt /path/to/dir/ |
نقل ملف إلى مجلد آخر |
|
mv *.txt archive/ |
نقل جميع ملفات |
|
pwd |
طباعة دليل العمل الحالي | |
pwd -P |
عرض المسار الفعلي (بدون روابط رمزية) |
|
cd /tmp && pwd |
عرض المسار بعد الانتقال إلى |
|
rm |
حذف ملفات أو مجلدات | |
rm file.txt |
حذف ملف |
|
rm -i file.txt |
حذف ملف مع تأكيد |
|
rm -r folder/ |
حذف مجلد بشكل متكرر |
|
rm -rf folder/ |
الحذف بالقوة بدون تأكيد |
|
rmdir |
حذف مجلد فارغ | |
rmdir emptydir |
حذف مجلد |
|
touch |
إنشاء ملفات فارغة أو تحديث وقت التعديل | |
touch newfile.txt |
إنشاء ملف فارغ جديد إذا لم يكن موجودًا |
|
touch a b c |
إنشاء عدة ملفات دفعة واحدة |
|
touch -c file.txt |
تحديث الوقت دون إنشاء ملف إذا لم يكن موجودًا |
|
whereis |
تحديد موقع الملف التنفيذي، المصدر وصفحات المساعدة للأمر | |
whereis ls |
إيجاد مواقع |
|
whereis bash |
عرض مسارات ملف Bash والتنفيذيات |
|
whereis -b bash |
البحث عن الملف التنفيذي فقط |
|
which |
عرض مسار الملف التنفيذي للأمر | |
which python3 |
المسار إلى |
|
which grep |
المسار إلى |
|
which --skip-alias ls |
تخطي الأسماء المستعارة أثناء البحث |
|
whoami |
طباعة اسم المستخدم الفعّال |
🔸 المستوى المتوسط
الأمر |
مثال |
الوصف |
|---|---|---|
chmod |
تغيير أذونات الملف أو المجلد | |
chmod 755 file |
تعيين الأذونات باستخدام الصيغة العددية (مثل 755) |
|
chmod +x script.sh |
إضافة صلاحية التنفيذ لسكريبت |
|
chmod -R 644 dir/ |
تعيين الأذونات لمجلد بشكل متكرر |
|
chown |
تغيير مالك الملف والمجموعة | |
chown user file |
تغيير مالك ملف |
|
chown user:group file |
تغيير المالك والمجموعة |
|
chown -R user:group dir/ |
تغيير المالك والمجموعة بشكل متكرر |
|
curl |
نقل البيانات من/إلى خادم (HTTP, HTTPS, إلخ) | |
curl -I https://example.com |
إرسال طلب HEAD (الرؤوس فقط) |
|
curl -O https://example.com/file.txt |
تحميل ملف مع الاحتفاظ باسمه |
|
curl -d "a=1&b=2" -X POST URL |
إرسال طلب POST مع بيانات نموذج |
|
df |
عرض استخدام مساحة نظام الملفات | |
df -h |
أحجام قابلة للقراءة البشرية |
|
df /home |
استخدام نقطة تركيب محددة |
|
df -T |
عرض أنواع أنظمة الملفات |
|
diff |
مقارنة ملفات أو مجلدات | |
diff file1 file2 |
مقارنة ملفين |
|
diff -u old.c new.c |
مقارنة موحدة (نمط التصحيح) |
|
diff -r dir1 dir2 |
مقارنة مجلدات بشكل متكرر |
|
du |
تقدير حجم الملفات والمجلدات | |
du -sh * |
عرض حجم العناصر في الدليل الحالي |
|
du -h file.txt |
عرض حجم ملف واحد |
|
du -sh --max-depth=1 /var |
تلخيص أحجام المجلدات العليا |
|
find |
البحث عن ملفات/مجلدات بالاسم أو الحجم أو الوقت إلخ. | |
find . -name "*.log" |
إيجاد جميع ملفات |
|
find / -type f -size +100M |
إيجاد ملفات أكبر من 100 ميغابايت |
|
find . -mtime -1 |
الملفات المعدلة خلال آخر يوم |
|
free |
عرض كمية الذاكرة المستخدمة والفارغة | |
free -h |
وحدات ذاكرة قابلة للقراءة البشرية |
|
free -m |
عرض القيم بالميغابايت |
|
watch -n 2 free -h |
تحديث المخرجات كل ثانيتين |
|
grep |
البحث في النص باستخدام الأنماط (التعابير النظامية) | |
grep "error" logfile |
إيجاد الأسطر التي تحتوي على |
|
grep -r "error" /var/log |
بحث متكرر في مجلد |
|
grep -i "fail" file |
بحث غير حساس لحالة الأحرف |
|
head |
عرض الأسطر الأولى من ملف | |
head -n 10 file |
أول 10 أسطر |
|
head -n 20 file.txt |
أول 20 سطر |
|
head -c 100 file |
أول 100 بايت |
|
hostname |
عرض أو تعيين اسم المضيف للنظام | |
hostname newname |
تعيين مؤقت لاسم المضيف حتى إعادة التشغيل |
|
hostname -I |
عرض عناوين IP |
|
kill |
إرسال إشارات إلى العمليات | |
kill -9 1234 |
قتل عملية بالقوة عبر PID |
|
kill -TERM 1234 |
إنهاء بلطف باستخدام SIGTERM |
|
pkill -f python |
قتل العمليات المطابقة لنمط |
|
ping |
التحقق من الاتصال بالشبكة باستخدام ICMP | |
ping 8.8.8.8 |
إرسال Ping إلى عنوان |
|
ping -c 4 ya.ru |
إرسال 4 حزم |
|
ping -i 2 1.1.1.1 |
تعيين فترة 2 ثانية |
|
ps |
عرض حالة العمليات | |
ps aux |
إدراج جميع العمليات |
|
ps -ef | grep nginx |
تصفية بالاسم باستخدام |
|
ps -u $USER |
عمليات المستخدم الحالي |
|
rsync |
نقل الملفات بشكل سريع وتزايدي | |
rsync -av src/ dst/ |
مزامنة مجلدات محليًا |
|
rsync -avz user@host:/src /dst |
مزامنة مع مضيف بعيد عبر SSH |
|
rsync --delete src/ dst/ |
حذف الملفات غير الموجودة في المصدر |
|
scp |
نسخ آمن (برنامج نسخ ملفات عن بعد) | |
scp file user@host:/path |
نسخ ملف إلى مضيف بعيد |
|
scp user@host:/file.txt . |
نسخ ملف من مضيف بعيد |
|
scp -r dir user@host:/path |
نسخ مجلد بشكل متكرر |
|
sort |
فرز الأسطر النصية | |
sort file.txt |
فرز أبجدي |
|
sort -r file.txt |
ترتيب عكسي |
|
sort -n numbers.txt |
فرز رقمي |
|
tail |
عرض الجزء الأخير من الملفات؛ متابعة التغييرات | |
tail -f logfile.log |
متابعة سجل في الوقت الحقيقي |
|
tail -n 20 file.txt |
عرض آخر 20 سطرًا |
|
tail -c 100 file.txt |
عرض آخر 100 بايت |
|
tar |
إنشاء أو استخراج أرشيفات tar | |
tar -czf archive.tgz dir/ |
إنشاء أرشيف مضغوط |
|
tar -xzf archive.tgz |
استخراج أرشيف |
|
tar -tf archive.tgz |
عرض محتويات الأرشيف |
|
tee |
قراءة من stdin والكتابة إلى stdout والملفات | |
echo "test" | tee out.txt |
كتابة المخرجات إلى |
|
ls | tee list.txt |
حفظ مخرجات |
|
command | tee -a log.txt |
إلحاق المخرجات في نهاية |
|
top |
عرض مهام لينكس (عارض العمليات التفاعلي) | |
top |
تشغيل top |
|
htop |
عارض بديل (htop) |
|
top -o %MEM |
الفرز حسب استهلاك الذاكرة |
|
uptime |
عرض مدة تشغيل النظام | |
uptime -p |
مدة تشغيل منسقة |
|
uptime -s |
وقت إقلاع النظام |
|
wget |
أداة تحميل شبكي غير تفاعلية | |
wget https://site.com/file.zip |
تحميل ملف عبر عنوان URL |
|
wget -c file.zip |
استئناف تحميل متوقف |
|
wget -O saved.txt URL |
حفظ باسم مختلف |
|
wc |
طباعة عدد الأسطر والكلمات والبايتات للملفات | |
wc -l file |
عد الأسطر |
|
wc -w file |
عد الكلمات |
|
wc -m file |
عد الأحرف |
|
uniq |
تقرير أو تصفية الأسطر المكررة (المتجاورة) | |
uniq file.txt |
إزالة التكرارات المتجاورة |
|
sort file | uniq |
إزالة التكرارات بعد الفرز |
|
sort file | uniq -c |
عد مرات تكرار كل سطر |
|
yes |
إخراج سلسلة نصية بشكل متكرر حتى الإيقاف؛ مفيد للبرمجة النصية | |
yes "y" | command |
الإجابة دائمًا بـ “y” على المطالبات |
|
yes | rm -i * |
تأكيد تلقائي على الحذف التفاعلي |
|
yes no | command |
الإجابة بـ “no” على المطالبات |
🔧 الأوامر المتقدمة
الأمر |
مثال |
الوصف |
|---|---|---|
at |
جدولة أمر لمرة واحدة ليعمل في وقت محدد | |
at now + 1 minute |
تشغيل أمر بعد دقيقة من الآن |
|
atq |
عرض المهام المعلقة |
|
atrm |
إزالة مهمة معلقة |
|
awk |
لغة مسح الأنماط ومعالجة النصوص | |
awk '{print $1}' file |
طباعة العمود الأول |
|
ps aux | awk '$3 > 50' |
تصفية العمليات حسب استخدام CPU |
|
cat file.txt | awk '{print $2}' |
طباعة الحقل الثاني من كل سطر |
|
awk '/error/ {print $0}' logfile |
طباعة الأسطر المطابقة لنمط |
|
crontab |
تثبيت أو عرض أو إزالة مهام cron لكل مستخدم | |
crontab -e |
تعديل مهام cron للمستخدم الحالي |
|
crontab -l |
عرض مهام cron |
|
crontab -r |
إزالة مهام cron للمستخدم الحالي |
|
cut |
قص أو اختيار أجزاء من كل سطر في الملفات | |
cut -d':' -f1 /etc/passwd |
طباعة أسماء المستخدمين من |
|
echo "a:b:c" | cut -d':' -f2 |
قص الحقل الثاني باستخدام ‘:’ كمحدد |
|
cut -c1-5 filename |
اختيار أحرف حسب الموضع |
|
df |
عرض استخدام مساحة نظام الملفات | |
df -h |
أحجام قابلة للقراءة البشرية |
|
df -T |
عرض أنواع أنظمة الملفات |
|
df /home |
الاستخدام لدليل home |
|
env |
تشغيل أمر في بيئة معدلة أو طباعة البيئة | |
env | grep PATH |
عرض إدخالات PATH |
|
env -i bash |
بدء صدفة نظيفة مع بيئة فارغة |
|
export |
تعيين متغيرات البيئة للصدفة/الجلسة الحالية | |
export VAR=value |
تعيين متغير لهذه الصدفة |
|
export PATH=$PATH:/new/path |
إضافة مجلد إلى PATH |
|
export -p |
عرض المتغيرات المصدّرة |
|
free |
عرض استخدام الذاكرة | |
free -m |
عرض بالميغابايت |
|
free -h |
وحدات قابلة للقراءة البشرية |
|
free -s 5 |
العينة كل 5 ثوانٍ |
|
hostnamectl |
استعلام وتغيير اسم المضيف وإعداداته | |
hostnamectl status |
عرض حالة اسم المضيف |
|
hostnamectl set-hostname newname |
تعيين اسم مضيف ثابت جديد |
|
ifconfig / ip |
أدوات IP لعرض/إدارة الواجهات والعناوين | |
ifconfig |
عرض واجهات الشبكة (قديم) |
|
ip a |
عرض العناوين باستخدام |
|
ip link set eth0 up |
تشغيل واجهة |
|
iostat |
عرض إحصائيات CPU و I/O | |
iostat -x 2 |
إحصاءات موسعة كل ثانيتين |
|
iostat -d 5 3 |
إحصاءات الجهاز (5 ثوانٍ، 3 تقارير) |
|
iptables |
أداة لإدارة ترشيح الحزم IPv4 و NAT | |
iptables -L |
عرض القواعد الحالية |
|
iptables -A INPUT -p tcp --dport 22 -j ACCEPT |
السماح باتصالات SSH الواردة على المنفذ 22 |
|
iptables -F |
مسح جميع القواعد |
|
journalctl |
الاستعلام عن سجلات systemd | |
journalctl -xe |
عرض الأخطاء الأخيرة مع السياق |
|
journalctl -u nginx.service |
عرض السجلات لخدمة معينة |
|
journalctl --since "2 hours ago" |
عرض السجلات منذ وقت نسبي |
|
ln |
إنشاء روابط بين الملفات | |
ln -s target link |
إنشاء رابط رمزي |
|
ln file.txt backup.txt |
إنشاء رابط صلب |
|
ln -sf target link |
إعادة إنشاء رابط رمزي بالقوة |
|
sed |
محرر نصوص للتصفية والتحويل أثناء التدفق | |
sed 's/old/new/g' file |
استبدال سلسلة نصية عالميًا |
|
sed -n '1,5p' file |
طباعة نطاق محدد من الأسطر |
|
sed '/pattern/d' file |
حذف الأسطر المطابقة |
|
systemctl |
إدارة خدمات systemd والنظام | |
systemctl status nginx |
عرض حالة خدمة |
|
systemctl start nginx |
تشغيل خدمة |
|
systemctl enable nginx |
تمكين خدمة عند الإقلاع |
|
tr |
استبدال أو حذف أحرف | |
tr a-z A-Z |
تحويل الأحرف الصغيرة إلى كبيرة |
|
echo "hello" | tr 'h' 'H' |
استبدال حرف |
|
echo "abc123" | tr -d '0-9' |
حذف الأرقام |
|
type |
وصف كيفية تفسير اسم في الصدفة | |
type ls |
عرض كيفية حل |
|
type cd |
عرض كيفية حل |
|
type python3 |
عرض كيفية حل |
|
ulimit |
عرض أو تعيين حدود موارد المستخدم | |
ulimit -n |
عرض الحد الأقصى للملفات المفتوحة |
|
ulimit -c unlimited |
تمكين تفريغ النواة |
|
ulimit -u 4096 |
تقييد عدد عمليات المستخدم |
|
uptime |
عرض مدة تشغيل النظام ومتوسط الحمل | |
uptime -p |
مدة تشغيل منسقة |
|
uptime -s |
عرض وقت الإقلاع |
|
xargs |
بناء وتنفيذ أوامر من الإدخال القياسي | |
xargs -n 1 echo |
طباعة كل وسيطة في سطر منفصل |
|
echo "a b c" | xargs -n 1 |
تقسيم الكلمات إلى وسائط منفصلة |
|
find . -name '*.txt' | xargs rm |
إيجاد ملفات وحذفها باستخدام xargs |
🌐 أوامر الشبكة
الأمر |
مثال |
الوصف |
|---|---|---|
curl |
نقل البيانات من/إلى الخوادم | |
curl -X POST -d "a=1" URL |
طلب POST مع بيانات نموذج |
|
curl -I URL |
جلب الرؤوس فقط |
|
curl -o file.html URL |
تحميل وحفظ إلى ملف |
|
dig |
أداة استعلام DNS | |
dig openai.com |
استعلام عن سجلات A |
|
dig +short openai.com |
إجابة مختصرة |
|
dig @8.8.8.8 openai.com |
استخدام خادم DNS محدد |
|
ftp |
عميل بروتوكول نقل الملفات FTP | |
ftp host |
الاتصال بخادم FTP |
|
ftp -n host |
الاتصال بدون تسجيل دخول تلقائي |
|
ftp> get file.txt |
تحميل ملف في جلسة FTP |
|
ip address |
عرض/إدارة عناوين IP | |
ip addr show eth0 |
عرض معلومات العنوان لـ |
|
ip addr |
إدراج جميع العناوين |
|
ip link |
عرض/إدارة أجهزة الشبكة | |
ip link show |
عرض روابط الشبكة |
|
ip link set eth0 up |
تشغيل واجهة |
|
ip route |
عرض/إدارة جدول التوجيه IP | |
ip route list |
عرض جدول التوجيه |
|
ip route add default via 192.168.1.1 |
إضافة مسار افتراضي |
|
nc |
اتصالات واستماع TCP/UDP عشوائية | |
nc -zv host 22 |
فحص منافذ مضيف |
|
nc -l 1234 |
الاستماع على منفذ TCP |
|
nc host 1234 < file |
إرسال ملف إلى منفذ بعيد |
|
nmap |
أداة استكشاف الشبكة وفحص المنافذ والأمان | |
nmap -sP 192.168.1.0/24 |
فحص ping لشبكة فرعية |
|
nmap -sV 192.168.1.1 |
اكتشاف الخدمات/الإصدارات |
|
nmap -O 192.168.1.1 |
اكتشاف نظام التشغيل |
|
nslookup |
استعلام خوادم أسماء الإنترنت | |
nslookup google.com |
استعلام عن اسم نطاق |
|
nslookup 8.8.8.8 |
بحث عكسي عن عنوان IP |
|
ssh |
عميل OpenSSH لتسجيل الدخول عن بعد | |
ssh user@host |
الاتصال بمضيف |
|
ssh -p 2222 user@host |
الاتصال باستخدام منفذ غير افتراضي |
|
ssh -i ~/.ssh/id_rsa user@host |
تسجيل الدخول بمفتاح خاص محدد |
|
ss |
أداة لفحص المقابس | |
ss -tuln |
عرض منافذ TCP/UDP المستمعة |
|
ss -s |
إحصاءات موجزة |
|
ss -l |
عرض المقابس المستمعة |
|
telnet |
واجهة مستخدم لبروتوكول TELNET | |
telnet host 80 |
الاتصال بمضيف على المنفذ 80 |
|
telnet example.com 443 |
الاتصال بـ 443 |
|
telnet localhost 25 |
الاتصال بـ SMTP المحلي |
|
traceroute |
تتبع المسار إلى مضيف شبكة | |
traceroute 8.8.8.8 |
تتبع المسار إلى IP |
|
traceroute -m 15 8.8.8.8 |
تحديد الحد الأقصى من القفزات |
|
wget |
تحميل الملفات من الويب | |
wget -O file.txt URL |
حفظ المخرجات إلى ملف |
|
wget URL |
التحميل إلى الدليل الحالي |
|
wget -c URL |
متابعة تحميل جزئي |
🔍 البحث وإدارة الملفات
الأمر |
مثال |
الوصف |
|---|---|---|
basename |
إزالة المجلد واللاحقة من أسماء الملفات | |
basename /path/to/file |
طباعة اسم الملف من مسار |
|
basename /path/to/file .txt |
إزالة لاحقة من الاسم |
|
dirname |
إزالة المكون الأخير من المسار | |
dirname /path/to/file |
عرض جزء المجلد من المسار |
|
dirname /etc/passwd |
عرض المجلد الأب لـ |
|
du |
تقدير استخدام مساحة الملفات | |
du -sh folder/ |
عرض حجم مجلد |
|
du -h * |
عرض حجم العناصر في المجلد الحالي |
|
du -c folder1 folder2 |
الحجم التراكمي لعدة مجلدات |
|
file |
تحديد نوع الملف | |
file some.bin |
اكتشاف نوع ملف |
|
file * |
اكتشاف أنواع لجميع الملفات في مجلد |
|
file -i file.txt |
عرض نوع MIME |
|
find |
البحث عن ملفات | |
find /path -type f -name "*.sh" |
إيجاد سكربتات shell بالاسم |
|
find . -size +10M |
إيجاد ملفات أكبر من 10 ميغابايت |
|
find /tmp -mtime -1 |
إيجاد ملفات عُدلت خلال آخر يوم |
|
locate |
إيجاد ملفات بالاسم باستخدام قاعدة بيانات | |
locate filename |
تحديد موقع ملف |
|
locate *.conf |
بحث باستخدام Wildcard |
|
locate -i README |
بحث غير حساس لحالة الأحرف |
|
realpath |
طباعة المسار المطلق المحلول | |
realpath file |
حل مسار ملف |
|
realpath ../relative/path |
حل مسار نسبي |
|
stat |
عرض حالة ملف أو نظام ملفات | |
stat file |
عرض حالة ملف تفصيلية |
|
stat -c %s file |
طباعة حجم الملف فقط |
|
stat -f file |
عرض حالة نظام الملفات |
|
tree |
إدراج محتويات المجلدات في شكل شجري | |
tree |
طباعة شجرة المجلد |
|
tree -L 2 |
تحديد عمق العرض |
|
tree -a |
تضمين الملفات المخفية |
📊 مراقبة النظام
الأمر |
مثال |
الوصف |
|---|---|---|
dmesg |
طباعة أو التحكم في ذاكرة رسائل النواة | |
dmesg | tail |
عرض آخر رسائل النواة |
|
dmesg | grep usb |
تصفية رسائل USB |
|
free |
عرض استخدام الذاكرة | |
free -h |
وحدات قابلة للقراءة البشرية |
|
free -m |
عرض بالميغابايت |
|
htop |
عارض العمليات التفاعلي | |
htop |
تشغيل |
|
iotop |
عرض استخدام الإدخال/الإخراج للعمليات | |
iotop |
تشغيل |
|
iotop -o |
عرض العمليات التي تقوم بإدخال/إخراج فقط |
|
lsof |
إدراج الملفات المفتوحة | |
lsof -i :80 |
عرض العمليات التي تستخدم المنفذ 80 |
|
lsof -u username |
عرض الملفات المفتوحة بواسطة مستخدم |
|
uptime |
عرض مدة التشغيل ومتوسط الأحمال | |
vmstat |
تقرير إحصاءات الذاكرة الافتراضية | |
vmstat 1 |
تحديث كل ثانية |
|
vmstat 5 3 |
فاصل 5 ثوانٍ، 3 تقارير |
|
watch |
تنفيذ برنامج بشكل دوري وعرض المخرجات | |
watch -n 1 df -h |
مراقبة استخدام القرص |
|
watch -d free -h |
تسليط الضوء على الفروقات ومراقبة الذاكرة |
📦 إدارة الحزم
الأمر |
مثال |
الوصف |
|---|---|---|
apt |
مدير الحزم APT (Debian/Ubuntu) | |
apt install curl |
تثبيت حزمة |
|
apt remove curl |
إزالة حزمة |
|
apt update && apt upgrade |
تحديث القوائم وترقية الحزم |
|
dnf |
مدير DNF (عائلة Fedora/RHEL) | |
dnf install curl |
تثبيت حزمة |
|
dnf upgrade |
ترقية الحزم |
|
rpm |
مدير الحزم RPM | |
rpm -ivh package.rpm |
تثبيت حزمة RPM |
|
rpm -e package |
إلغاء تثبيت حزمة |
|
snap |
مدير الحزم Snap | |
snap install app |
تثبيت حزمة snap |
|
snap remove app |
إزالة حزمة snap |
|
yum |
مدير الحزم YUM (RHEL/CentOS) | |
yum install curl |
تثبيت حزمة |
|
yum remove curl |
إزالة حزمة |
💽 أنظمة الملفات
الأمر |
مثال |
الوصف |
|---|---|---|
blkid |
عرض سمات أجهزة الكتل | |
blkid |
إدراج أجهزة الكتل وسماتها |
|
df |
عرض استخدام مساحة نظام الملفات | |
df -Th |
أحجام قابلة للقراءة البشرية حسب النوع |
|
fsck |
فحص وإصلاح نظام ملفات لينكس | |
fsck /dev/sda1 |
فحص جهاز |
|
lsblk |
إدراج معلومات عن أجهزة الكتل | |
lsblk |
إدراج الأجهزة في شكل شجرة |
|
mkfs |
بناء نظام ملفات لينكس | |
mkfs.ext4 /dev/sdb1 |
إنشاء نظام ملفات ext4 |
|
mount |
تركيب نظام ملفات | |
mount /dev/sdb1 /mnt |
تركيب جهاز إلى |
|
mount | grep /mnt |
عرض أنظمة الملفات المركبة حسب المسار |
|
parted |
برنامج إدارة الأقسام | |
parted /dev/sdb |
فتح قرص للتقسيم |
|
umount |
إلغاء تركيب أنظمة الملفات | |
umount /mnt |
إلغاء تركيب نقطة تركيب |
🤖 السكربتات والأتمتة
الأمر |
مثال |
الوصف |
|---|---|---|
alias |
تعريف أو عرض الأسماء المستعارة للصدفة | |
alias ll='ls -la' |
إنشاء اسم مستعار مفيد |
|
alias |
عرض الأسماء المستعارة المعرفة |
|
bash / sh |
تشغيل سكربتات الصدفة | |
bash script.sh |
تشغيل سكربت باستخدام Bash |
|
sh script.sh |
تشغيل سكربت باستخدام |
|
crontab |
جداول cron لكل مستخدم | |
crontab -e |
تعديل مهام cron للمستخدم الحالي |
|
read |
طلب إدخال المستخدم في سكربتات الصدفة | |
read name |
قراءة في متغير |
|
set |
تعيين خيارات الصدفة/المعاملات الموضعية | |
set -e |
الخروج عند أول خطأ |
|
source |
قراءة وتنفيذ أوامر من ملف في الصدفة الحالية | |
source ~/.bashrc |
إعادة تحميل إعدادات الصدفة |
|
trap |
التقاط الإشارات وتنفيذ أوامر | |
trap "echo 'exit'" EXIT |
تشغيل أمر عند الخروج من الصدفة |
🛠 التطوير وتصحيح الأخطاء
الأمر |
مثال |
الوصف |
|---|---|---|
gcc |
مترجم GNU C | |
gcc main.c -o app |
ترجمة ملف مصدر C |
|
gdb |
المصحح GNU | |
gdb ./app |
تصحيح ثنائي مترجم |
|
git |
نظام تحكم موزع بالإصدارات | |
git status |
عرض حالة شجرة العمل |
|
git commit -m "msg" |
إجراء التزام مع رسالة |
|
ltrace |
تتبع استدعاءات المكتبة | |
ltrace ./app |
تتبع استدعاءات مكتبة لثنائي |
|
make |
أداة لبناء البرامج باستخدام Makefile | |
make |
البناء وفقًا لـ Makefile |
|
shellcheck |
تحليل ثابت لسكربتات الصدفة | |
shellcheck script.sh |
تحليل سكربت صدفة |
|
strace |
تتبع استدعاءات النظام والإشارات | |
strace ./app |
تتبع استدعاءات نظام برنامج |
|
valgrind |
إطار أدوات تحليل ديناميكي | |
valgrind ./app |
تشغيل برنامج تحت Valgrind |
|
vim / nano |
محررات نصوص سطر الأوامر | |
vim file.sh |
تحرير باستخدام Vim |
|
nano file.sh |
تحرير باستخدام Nano |
📌 متنوع
الأمر |
مثال |
الوصف |
|---|---|---|
cal |
عرض تقويم | |
cal 2025 |
عرض تقويم سنة |
|
cal 08 2025 |
عرض شهر محدد |
|
date |
عرض أو تعيين تاريخ ووقت النظام | |
date +%T |
طباعة الوقت الحالي (HH:MM:SS) |
|
date -d "next friday" |
طباعة تاريخ ليوم نسبي |
|
factor |
تحليل الأعداد إلى عوامل | |
factor 100 |
تحليل عدد |
|
man |
عرض صفحات الدليل عبر الإنترنت | |
man tar |
فتح صفحة دليل |
|
man -k copy |
البحث في الأدلة بكلمة مفتاحية |
|
man 5 passwd |
فتح قسم محدد من الدليل |
|
seq |
طباعة تسلسل أعداد | |
seq 1 5 |
العد من 1 إلى 5 |
|
seq 1 2 9 |
العد بخطوة |
|
seq -s ',' 1 5 |
دمج الأعداد بفاصل مخصص |
|
yes |
إخراج سلسلة نصية بشكل متكرر حتى التوقف | |
yes | rm -r dir |
تأكيد تلقائي عند الحذف المتكرر |
📚 مصادر إضافية
📘 صفحات man - أدلة مفصلة للأوامر:
man ls
man rm📙 TLDR - أمثلة استخدام مختصرة للأوامر الشائعة:
🧠 نصيحة: ثبّت tldr للحصول على مساعدة سريعة:
sudo apt install tldr # أو: npm install -g tldr
tldr tar # مثال لملخص قصير لأمر tar🌐 روابط مفيدة
صفحات man لينكس على الإنترنت — أدلة رسمية قابلة للبحث حسب اسم الأمر:
https://man7.org/linux/man-pages/
صفحات مبسطة يقودها المجتمع — صفحات مساعدة عملية مع أمثلة واقعية:
https://tldr.sh/