Linux هو نظام متعدد المستخدمين (multi-user) مفتوح المصدر (open-source) لأجهزة الكمبيوتر المكتبية والخوادم.
Linux هو نظام التشغيل المفتوح المصدر الأكثر استخدامًا.
يأتي نظام تشغيل Ubuntu Linux بإصدارين.
- نسخة سطح المكتب (Desktop)
- إصدار الخادم (Server)
نسخة سطح المكتب (Desktop)
يحتوي هذا الإصدار على واجهة مستخدم رسومية (GUI) مثل نظام التشغيل Windows.
يمكن إجراء جميع العمليات التي يجب إجراؤها باستخدام واجهة المستخدم.
يمكن أيضًا إدارة نظام التشغيل هذا باستخدام الجهاز الطرفي (terminal).
لاستخدام الـ terminal لإجراء أي عملية يجب أن تكون على دراية بالأوامر التي يوفرها نظام التشغيل.
إصدار الخادم (Server)
لا يمكن إدارة إصدار الخادم إلا باستخدام الأوامر ولا توجد واجهة مستخدم (GUI) لإجراء أي نوع من العمليات.
تُفضل المؤسسات دائمًا إصدار الخادم لأن إصدار سطح المكتب يهدر مساحة القرص ووحدة المعالجة المركزية وذاكرة الوصول العشوائي المطلوبة لواجهة المستخدم الرسومية.
Linux يأتي بأشكال مختلفة مثل Ubuntu و Fedora و Redhat و Centos و Suse وغيرها.
سنستخدم هنا إصدار خادم Ubuntu لتعلم استخدام Linux باستخدام الأوامر.
ستجد عملية تثبيت نظام التشغيل Ubuntu موحودة في موضوع سابق (شرح تثبيت Ubuntu ... بالخطوات ... فيديو)
سنتعلم هنا
- تعلم الأوامر الأساسية.
- تعلم إدارة المستخدمين (User Administration)
- تعلم أوامر أذونات الملفات (File Permission).
- تعلم أوامر الشبكات.
الأوامر الأساسية
لنفهم ما يتم عرضه.
ubuntu : هو اسم مستخدم قمت بتسجيل الدخول إليه في النظام.
ip-172-31-43-22 : و اسم مضيف النظام (hostname)
$ : مستخدم بدون صلاحيات root
# : مستخدم بصلاحيات root
قمنا بتسجيل الدخول باستخدام مستخدم بدون صلاحيات root لهذا السبب نرى $ في الـ terminal.
الآن دعونا نرى الأوامر الأساسية لنظام لينكس.
ifconfig
يعرض عنوان IP الخاص بالنظام.
cat /etc/issue
يعرض إصدار Linux.
cat /etc/os-release
يعرض إصدار Linux مع مزيد من التفاصيل.
whoami
يعرض اسم المستخدم الذي نستخدمه لتسجيل الدخول.
hostname
يعرض اسم المضيف للنظام.
date
تاريخ النظام مع اليوم والوقت والمنطقة الزمنية.
pwd
يعرض الدليل / المجلد الحالي.
mkdir my-first-directory
يقوم بإنشاء دليل / مجلد جديد في المكان الحالي.
touch my-first-file
يقوم بإنشاء ملف جديد في المكان الحالي.
clear
يمسح المعروض على الشاشة.
ls
يعرض قائمة الملفات والمجلدات في الدليل الحالي.
ls -l
يعرض قائمة الملفات والمجلدات في الدليل الحالي مع مزيد من التفاصيل عنها.
cd my-first-directory/
تغيير الدليل
cd -
العودة إلى الدليل السابق
vim my-first-file
Press “i” to go into “write” mode
Then write whatever you want
Now press Esc :wq! to save and exit the file
يفتح الملف للكتابة فيه.
cat my-first-file
قراءة الملف دون فتحه للكتابة.
vim my-first-file
Write in it
Now press Esc :q! to exit the file without saving.
اغلاق الملف دون حفظه
لنجرب الان بديل الدليل إلى / باستخدام الأمر cd ونقم بعرض الملفات باستخدام الأمر ls -l.
cd /
ls -l
كانت هذه بعض الأوامر الأساسية لأداء العمليات العادية في الخادم.
قبل المضي قدمًا مع القليل من الأوامر المتقدمة ، دعنا نفهم بعض الأمور باختصار.
/
يسمى الدليل "root".
إنها نقطة البداية للتسلسل الهرمي لنظام الملفات.
لاحظ أن هذا لا يتعلق بحساب المستخدم root أو المستخدم المتميز (superuser).
/bin
البرامج الأخرى.
/etc
ملفات إعداد النظام
/home
الدلائل الرئيسية
/opt
البرامج الاختيارية أو برامج الـ third party.
/tmp
مساحة مؤقتة يتم مسحها عادةً عند إعادة التشغيل
/usr
البرامج المتعلقة بالمستخدم.
/var
البيانات المتغيرة وأبرزها ملفات السجل (log).
إدارة المستخدمين (User Administration)
سنرى هنا أوامر بسيطة لإنشاء مستخدم جديد وحذفه.
للتعامل مع أوامر إدارة المستخدم ، نحتاج إلى إذن "sudo".
يجب إلحاق 'sudo' قبل تنفيذ أي أمر إداري (administration command).
إضافة مستخدم جديد
sudo useradd rahul
حذف مستخدم
sudo userdel rahul
أوامر أذونات الملفات (File Permission)
سننتعلم هنا كيفية تغيير أذونات وملكية الملفات والدليل.
سنرى أولاً كيفية التعامل مع أوامر أذونات الملفات
ليست هناك حاجة للحصول على إذن "sudo" ما لم تكن الملفات / الدلائل ملكًا لمستخدم آخر.
أولاً سننشئ ملفًا باستخدام الأمر touch ثم نضيف نصًا فيه ثم نغير أذوناته.
يمكنك أن تجرب نفسك للدليل.
لنقم بإنشاء الملف.
touch test-permissions.txt
نعرض محتويات الدليل الحالي.
ls -lt
دعنا نفهمها أولاً.
عندما تقوم بعرض الملفات / الدلائل باستخدام "ls -l" ، سترى بعض المعلومات كما هو موضح في الصورة السابقة.
يمكن أن يكون الحرف الأول إما "-" ، مما يعني أنه ملف أو "d" ، مما يعني أنه مجلد / دليل.
الأحرف التسعة التالية (rw-rw-r--) تمثل الأمان (security).
سنرى رمزًا رقميًا في Linux لتغيير إذن الملف وهذه أسهل طريقة:
0 = No Permission
1 = Execute
2 = Write
4 = Read
نحتاج إلى إضافة الأرقام اعتمادًا على مستوى الإذن الذي نريد منحه.
أرقام الأذونات هي:
0 = ---
1 = --x
2 = -w-
3 = -wx
4 = r-
5 = r-x
6 = rw-
7 = rwx
مثال:
سيعطي chmod 777 test-permissions.txt أذونات القراءة والكتابة والتنفيذ للجميع على الملف test-permissions.txt.
سيعطي chmod 700 test-permissions.txt أذونات القراءة والكتابة والتنفيذ لمالك الملف فقط.
سيعطي chmod 327 test-permissions.txt إذن كتابة وتنفيذ (3) للمالك و w (2) للمجموعة ، والقراءة والكتابة والتنفيذ للمستخدمين الآخرين.
لنقم الآن بتغيير إذن test-permissions.txt إلى
000, 077,277,477,200
واحدًا تلو الآخر ونرى ما سيحدث.
أوامر الشبكات
traceroute
تساعد هذه الأوامر في استكشاف أخطاء الشبكة وإصلاحها.
قد لا يكون لديك أمر "traceroute" في النظام.
إذا كانت هذه هي الحالة ، فيمكن استخدام الأمر التالي لتثبيته.
sudo apt install traceroute
ifconfig
لعرض IP النظام.
traceroute google.com
telnet
لمعرفة الاتصال على منفذ (port) معين.
telnet localhost 22
netstat
لمراجعة كل من اتصالات الشبكة والـ sockets المفتوحة.
netstat -tulpn
rm Command
يسمى الأمر "rm" أيضًا بـ (devil's command) في لينكس.
إنه أمر إزالة يستخدم لحذف الملفات والمجلدات.
نظرًا لعدم وجود سلة مهملات في إصدار الخادم يجب استخدام rm بعناية فائقة.
بمجرد حذف الملف يجعله يحذف نهائيًا ومن ثم يُعرف rm بأمر Devil.
الآن دعونا نرى استخدامه لحذف الملفات والمجلدات.
لحذف ملف:
rm my-first-file
إضافة -r كخيار لحذف مجلد.
rm -r my-first-directory/
ملاحظات:
1. كن حذرًا جدًا أثناء استخدام الأمر "rm".
2. يمكن استخدام "man" قبل أي أمر لمعرفة المزيد عن الأمر.
على سبيل المثال
man rm
man ls
man useradd
man touch