ورقة غش أوامر Linux
Linux هو نظام تشغيل شبيه بـ Unix حر ومفتوح المصدر يعتمد على POSIX و Unix. وهو نظام تشغيل متعدد المستخدمين، ومتعدد المهام، ومتعدد الخيوط، ويدعم وحدات المعالجة المركزية المتعددة. يمكنه تشغيل أدوات Unix والتطبيقات وبروتوكولات الشبكة الرئيسية، ويدعم الأجهزة بمعمارية 32 بت و64 بت. بوراثته لفلسفة التصميم المتمحورة حول الشبكة من Unix، يعد Linux نظام تشغيل شبكي مستقر ومتعدد المستخدمين.
النظام
| uname | عرض معلومات نظام Linux |
| uname -r | عرض معلومات إصدار النواة |
| uptime | عرض مدة تشغيل النظام (بما في ذلك متوسط الحمل) |
| hostname | عرض اسم مضيف النظام |
| hostname -i | عرض عنوان IP للنظام |
| last reboot | إظهار سجل إعادة تشغيل النظام |
| date | عرض تاريخ ووقت النظام الحالي |
| timedatectl | الاستعلام عن ساعة النظام وتغييرها |
| cal | عرض شهر وتاريخ التقويم الحالي |
| w | عرض المستخدمين المسجلين حالياً |
| whoami | عرض هويتك المسجلة |
| finger username | عرض معلومات حول مستخدم معين |
الأجهزة
| dmesg | عرض رسائل التمهيد (boot) |
| cat /proc/cpuinfo | عرض معلومات مفصلة عن المعالج (الموديل، النواة، البائع) |
| cat /proc/meminfo | عرض معلومات مفصلة عن ذاكرة الجهاز (الإجمالية، الفارغة) |
| lshw | عرض معلومات تكوين أجهزة النظام |
| lsblk | عرض المعلومات المتعلقة بأجهزة الكتلة (block devices) |
| free -m | عرض الذاكرة الفارغة والمستخدمة (بالـ ميجابايت) |
| lspci -tv | عرض أجهزة PCI في مخطط شجري |
| lsusb -tv | عرض أجهزة USB في مخطط شجري |
| dmidecode | عرض معلومات الأجهزة من الـ BIOS |
| hdparm -i /dev/xda | عرض معلومات حول بيانات القرص |
| hdparm -tT /dev/xda | تشغيل اختبار سرعة القراءة على الجهاز xda |
| badblocks -s /dev/xda | اختبار الكتل غير القابلة للقراءة على القرص |
المستخدمون
| id | عرض تفاصيل المستخدم النشط (uid, gid, المجموعات) |
| last | عرض آخر عمليات تسجيل الدخول في النظام |
| who | عرض من قام بتسجيل الدخول إلى النظام |
| groupadd “admin” | إضافة مجموعة باسم “admin” |
| adduser “Sam” | إضافة مستخدم باسم Sam |
| userdel “Sam” | حذف المستخدم Sam |
| usermod | تغيير/تعديل معلومات المستخدم |
الملفات
| ls -al | سرد الملفات - بما في ذلك الملفات العادية والمخفية وأذوناتها |
| pwd | عرض مسار الدليل الحالي |
| mkdir ‘directory_name’ | إنشاء دليل جديد |
| rm file_name | حذف ملف |
| rm -f filename | حذف ملف بالقوة |
| rm -r directory_name | حذف دليل ومحتوياته بشكل متكرر |
| rm -rf directory_name | حذف دليل ومحتوياته بالقوة وبشكل متكرر |
| cp file1 file2 | نسخ محتويات file1 إلى file2 |
| cp -r dir1 dir2 | نسخ dir1 إلى dir2 بشكل متكرر. إنشاء dir2 إذا لم يكن موجوداً |
| mv file1 file2 | إعادة تسمية file1 إلى file2 |
| ln -s /path/to/file_name link_name | إنشاء رابط رمزي (Soft Link) إلى file_name |
| touch file_name | إنشاء ملف جديد فارغ |
| cat > file_name | إنشاء ملف من إدخال لوحة المفاتيح |
| more file_name | إخراج محتويات ملف صفحة بصفحة |
| head file_name | عرض أول 10 أسطر من الملف |
| tail file_name | عرض آخر 10 أسطر من الملف |
| gpg -c file_name | تشفير ملف |
| gpg file_name.gpg | فك تشفير ملف |
| wc | طباعة عدد البايتات والكلمات والأسطر في الملف |
| xargs | تنفيذ أوامر من الإدخال القياسي |
العمليات (Processes)
| ps | عرض العمليات النشطة حالياً |
| ps aux | grep ’telnet' | البحث عن معرف العملية (PID) لـ ’telnet' |
| pmap | عرض خريطة ذاكرة العملية |
| top | عرض جميع العمليات الجارية حالياً |
| kill pid | إنهاء العملية باستخدام معرفها (pid) |
| killall proc | قتل/إنهاء جميع العمليات التي تحمل الاسم proc |
| pkill process-name | إرسال إشارة إلى العملية بالاسم |
| bg | استئناف أمر معلق في الخلفية |
| fg | جلب أمر من الخلفية إلى المقدمة |
| fg n | جلب المهمة رقم n إلى المقدمة |
| lsof | سرد الملفات المفتوحة بواسطة العمليات |
| renice 19 PID | تشغيل عملية بأولوية منخفضة جداً |
| pgrep firefox | البحث عن معرف عملية Firefox |
| pstree | عرض العمليات في مخطط شجري |
أذونات الملفات
| chmod octal filename | تغيير أذونات الملف إلى التنسيق الثماني |
| chmod 777 /data/test.c | تعيين أذونات rwx للمالك والمجموعة والجميع |
| chmod 755 /data/test.c | تعيين rwx للمالك، و r-x للمجموعة والجميع |
| chmod 766 /data/test.c | تعيين rwx للمالك، و rw- للمجموعة والجميع |
| chown owner user-file | تغيير ملكية الملف |
| chown owner-user:owner-group file_name | تغيير مالك الملف والمجموعة المالكة |
| chown owner-user:owner-group directory | تغيير مالك الدليل والمجموعة المالكة |
الشبكة
| ip addr show | عرض عناوين IP وجميع واجهات الشبكة |
| ip address add 192.168.0.1/24 dev eth0 | تخصيص عنوان IP لـ eth0 |
| ifconfig | عرض عناوين IP لجميع واجهات الشبكة |
| ping host | إرسال طلبات صدى ICMP لإنشاء اتصال بالخادم |
| whois domain | استرداد معلومات حول اسم النطاق |
| dig domain | استرداد معلومات DNS لنطاق معين |
| dig -x host | إجراء بحث عكسي عن النطاق |
| host google.com | إجراء بحث عن عنوان IP لاسم النطاق |
| hostname -i | عرض عنوان IP المحلي |
| wget file_name | تحميل ملف من موارد الإنترنت |
| netstat -pnltu | عرض جميع منافذ الاستماع النشطة |
الضغط / الأرشفة
| tar -cf home.tar home | إنشاء ملف أرشيف tar باسم home.tar للدليل home |
| tar -xf files.tar | استخراج ملف الأرشيف “files.tar” |
| tar -zcvf home.tar.gz source-folder | إنشاء ملف أرشيف tar مضغوط من مجلد المصدر |
| gzip file | ضغط ملف بامتداد .gz |
تثبيت الحزم
| rpm -i pkg_name.rpm | تثبيت حزمة rpm |
| rpm -e pkg_name | إزالة حزمة rpm |
| dnf install pkg_name | تثبيت حزمة باستخدام أداة dnf |
التثبيت من المصدر (الترجمة/Compiling)
| ./configure | فحص النظام وبناء ملف Makefile |
| make | ترجمة البرنامج |
| make install | تثبيت الملفات الثنائية في المسار الافتراضي/المعدل |
البحث
| grep ‘pattern’ files | البحث عن نمط معين داخل الملفات |
| grep -r pattern dir | البحث بشكل متكرر عن نمط في دليل معين |
| locate file | العثور على جميع مثيلات ملف معين |
| find /home/ -name “index” | العثور على أسماء الملفات التي تبدأ بـ ‘index’ في /home |
| find /home -size +10000k | العثور على الملفات التي يزيد حجمها عن 10000 ك في مجلد المنزل |
تسجيل الدخول
| ssh user@host | الاتصال المباشر والآمن بالمضيف كمستخدم محدد |
| ssh -p port_number user@host | الاتصال الآمن بالمضيف باستخدام منفذ محدد |
| ssh host | الاتصال الآمن بالمضيف عبر المنفذ الافتراضي 22 |
| telnet host | الاتصال بالمضيف عبر المنفذ الافتراضي 23 |
نقل الملفات
| scp file1.txt server2/tmp | نسخ file1.txt بأمان إلى دليل /tmp في server2 |
| rsync -a /home/apps /backup/ | مزامنة محتويات دليل /home/apps مع دليل /backup |
استخدام القرص
| df -h | عرض المساحة الفارغة على أنظمة الملفات المثبتة |
| df -i | عرض الـ inodes الفارغة على أنظمة الملفات |
| fdisk -l | عرض أقسام القرص وأحجامها وأنواعها |
| du -sh | عرض استخدام القرص للدليل الحالي بتنسيق قابل للقراءة |
| findmnt | عرض نقاط التثبيت المستهدفة لجميع أنظمة الملفات |
| mount device-path mount-point | تثبيت (mount) جهاز |
التنقل في الأدلة
| cd .. | الانتقال لأعلى مستوى واحد في هيكل الدليل |
| cd | تغيير الدليل إلى دليل المنزل ($HOME) |
| cd /test | تغيير الدليل إلى الدليل /test |