مرحبًا بكم في الجزء الأول من سلسلة "أساسيات Linux". من المرجح أنك تستخدم جهازًا يعمل بنظام Windows أو Mac ، فكلاهما يختلفان في التصميم المرئي وكيفية تشغيلهما. تمامًا مثل Windows و iOS و MacOS ، يعد Linux مجرد نظام تشغيل آخر وواحد من أكثر أنظمة التشغيل شيوعًا في العالم لتشغيل السيارات الذكية وأجهزة Android وأجهزة الكمبيوتر العملاقة والأجهزة المنزلية وخوادم المؤسسات والمزيد.
سنغطي بعضًا من محفوظات Linux ثم نبدأ في النهاية رحلتك لكونك معالج Linux! ستشتمل هذه الغرفة على:
أين يستخدم لينوكس ؟
من العدل أن نقول إن التعامل مع Linux مخيف أكثر بكثير من التعامل مع أنظمة التشغيل (OS) مثل Windows. كلا الخيارين لهما مزايا وعيوب. على سبيل المثال ، يعتبر نظام Linux خفيف الوزن بدرجة كبيرة وستفاجأ بمعرفة أن هناك فرصة جيدة لاستخدام Linux بشكل أو بآخر كل يوم! يدعم Linux أشياء مثل:
- مواقع الويب التي تزورها
- لوحات تحكم / ترفيه السيارة
- أنظمة نقاط البيع (PoS) مثل أدوات الدفع والسجلات في المحلات التجارية
- البنى التحتية الحيوية مثل أجهزة التحكم في إشارات المرور أو أجهزة الاستشعار الصناعية
نظام لينكس
الاسم " Linux " هو في الواقع مصطلح شامل لأنظمة تشغيل متعددة تعتمد على UNIX (نظام تشغيل آخر). بفضل كون UNIX مفتوح المصدر ، تأتي متغيرات Linux بجميع الأشكال والأحجام - وهي الأنسب لما يتم استخدام النظام من أجله.
على سبيل المثال ، تعد Ubuntu & Debian من أكثر توزيعات Linux شيوعًا لأنها قابلة للتوسعة. أي يمكنك تشغيل Ubuntu كخادم (مثل مواقع الويب وتطبيقات الويب) أو كسطح مكتب متكامل. بالنسبة لهذه السلسلة ، سنستخدم Ubuntu.
يمكن تشغيل Ubuntu Server على أنظمة ذات ذاكرة وصول عشوائي (RAM) بسعة 512 ميجابايت فقط
على غرار الطريقة التي لديك بها إصدارات مختلفة من Windows (7 و 8 و 10) ، هناك العديد من الإصدارات / التوزيعات المختلفة من Linux .
كما ناقشنا سابقًا ، تتمثل إحدى نقاط البيع الكبيرة لاستخدام أنظمة تشغيل مثل Ubuntu في مدى خفة وزنها. هذا ، بالطبع ، لا يأتي بدون عيوبه ، حيث على سبيل المثال ، غالبًا لا توجد واجهة مستخدم رسومية (GUI) أو ما يُعرف أيضًا باسم بيئة سطح المكتب التي يمكننا استخدامها للتفاعل مع الجهاز (ما لم يكن كذلك) المثبتة). جزء كبير من التفاعل مع هذه الأنظمة هو استخدام "المحطة الطرفية".
"المحطة الطرفية" تستند إلى نص بحت وهي مخيفة في البداية. ومع ذلك ، إذا قمنا بتعطيل بعض الأوامر ، فبعد مرور بعض الوقت ، ستعتاد سريعًا على استخدام الجهاز!
tryhackme@linux1:~$ enter commands here
نحتاج إلى أن نكون قادرين على القيام بالوظائف الأساسية مثل الانتقال إلى الملفات وإخراج محتوياتها وإنشاء الملفات! الأوامر للقيام بذلك تشرح نفسها بنفسها (بمجرد أن تعرف ما هي بالطبع ...)
لنبدأ باثنين من الأوامر الأولى التي قمت بتفصيلها في الجدول أدناه:
امر | وصف الامر |
echo | قم بإخراج أي نص نقدمه |
whoami | اكتشف المستخدم الذي قمنا بتسجيل الدخول باسمه حاليًا! |
انظر المقتطفات أدناه للحصول على مثال لكل أمر يتم استخدامه ...
tryhackme@linux1:~$ echo "Hello Friend!"
tryhackme@linux1:~$ whoami
جرب هذا على جهاز Linux الخاص بك الآن!
حتى الآن قمنا فقط بتغطية أمري " echo " و " whoami ". ليس كل هذا مفيدًا عندما تفكر في الأشياء التي نحتاج إلى القيام بها - بما في ذلك التنقل في نظام الملفات ، والقراءة والكتابة إليه أيضًا.
في هذه المهمة ، سوف نتعلم الأوامر حتى نتمكن من القيام بذلك. تمامًا مثل المهمة السابقة ، سأعرض الأوامر في الجدول في العنوان التالي وأعرض أمثلة على هذه الأوامر قيد الاستخدام.
التعامل مع نظام الملفات
كما ذكرت سابقًا ، من المهم جدًا أن تكون قادرًا على التنقل في الجهاز الذي قمت بتسجيل الدخول إليه دون الاعتماد على بيئة سطح المكتب. بعد كل شيء ، ما الفائدة من تسجيل الدخول إذا لم نتمكن من الذهاب إلى أي مكان؟
الامر | معنى الامر |
ls | عرض القائمة |
cd | فتح الملف او تغيير الدليل |
cat | إخراج محتويات ملف |
pwd | عرض مكانك في الملف |
امثلة
سرد الملفات في دليلنا الحالي (ls)
قبل أن نتمكن من فعل أي شيء مثل اكتشاف محتويات أي ملفات أو مجلدات ، نحتاج إلى معرفة ما هو موجود في المقام الأول. يمكن القيام بذلك باستخدام الأمر "ls" (اختصار لسرد القائمة)
tryhackme@linux1:~$ ls'Important Files' 'My Documents' Notes Pictures
في لقطة الشاشة أعلاه ، يمكننا أن نرى أن هناك المجلدات / المجلدات التالية:
- ملفات مهمة
- مستنداتي
- ملحوظات
- الصور
رائعة! ربما يمكنك تخمين ما يمكن توقعه من المجلد الذي يحتوي عليه الاسم.
نصيحة احترافية: يمكنك سرد محتويات الدليل دون الحاجة إلى الانتقال إليه باستخدام الأمر ls واسم الدليل. بمعنى آخرls Pictures
تغيير الدليل الحالي (cd)
الآن بعد أن عرفنا المجلدات الموجودة ، نحتاج إلى استخدام الأمر " cd " (اختصار لـ c hange d irectory) للتغيير إلى هذا الدليل. قل ما إذا كنت أرغب في فتح دليل "الصور" - كنت سأفعل " صور الأقراص المضغوطة ". مرة أخرى ، نريد اكتشاف محتويات دليل "الصور" هذا ، وللقيام بذلك ، سنستخدم " ls " مرة أخرى:
tryhackme@linux1:~/Pictures$ lsdog_picture1.jpg dog_picture2.jpg dog_picture3.jpg dog_picture4.jpg
في هذه الحالة يبدو أن هناك 4 صور لكلاب!
إخراج محتويات ملف (قطة)
بينما يعد التعرف على وجود الملفات أمرًا رائعًا - ليس كل هذا مفيدًا ما لم نتمكن من عرض محتوياتها.
سنأتي لمناقشة بعض الأدوات المتاحة لنا والتي تسمح لنا بنقل الملفات من جهاز إلى آخر في غرفة لاحقة. لكن في الوقت الحالي ، سنتحدث عن مجرد رؤية محتويات الملفات النصية باستخدام أمر يسمى " cat".
"Cat" هي اختصار للتسلسل وهي طريقة رائعة لإخراج محتويات الملفات (وليس فقط الملفات النصية!).
في لقطة الشاشة أدناه ، يمكنك أن ترى كيف جمعت استخدام "ls" لسرد الملفات داخل دليل يسمى "المستندات":
tryhackme@linux1:~/Documents$ lstodo.txttryhackme@linux1:~/Documents$ cat todo.txtHere's something important for me to do later!
لقد طبقنا بعض المعرفة من وقت سابق في هذه المهمة للقيام بما يلي:
- استخدم " ls " لإعلامنا بالملفات المتوفرة في مجلد "المستندات" في هذا الجهاز. في هذه الحالة ، يطلق عليه "todo.txt".
- لقد اعتدنا بعد ذلك
cat todo.txt
على تسلسل / إخراج محتويات هذا الملف "todo.txt" ، حيث تكون المحتويات "هنا شيء مهم بالنسبة لي لأفعله لاحقًا!"
نصيحة للمحترفين: يمكنك استخدامها cat
لإخراج محتويات ملف داخل الدلائل دون الحاجة إلى الانتقال إليه باستخدام cat واسم الدليل. بمعنى آخرcat /home/ubuntu/Documents/todo.txt
في بعض الأحيان ، يتم تخزين أشياء مثل أسماء المستخدمين وكلمات المرور (نعم - حقًا ...) أو العلامات أو إعدادات التكوين داخل الملفات حيث يمكن استخدام "cat" لاستردادها.
اكتشاف المسار الكامل إلى دليل العمل الحالي (pwd)
ستلاحظ مع تقدمك في التنقل في جهاز Linux الخاص بك ، سيتم إدراج اسم الدليل الذي تعمل فيه حاليًا في جهازك الطرفي.
من السهل أن نفقد مكان وجودنا على نظام الملفات بالضبط ، ولهذا السبب أريد تقديم " pwd ". هذا يرمز إلى دليل p rint w orking d .
باستخدام آلة المثال من قبل ، نحن حاليًا في مجلد "Documents" - ولكن أين يوجد هذا بالضبط في نظام ملفات جهاز Linux ؟ يمكننا معرفة ذلك باستخدام الأمر "pwd" كما هو الحال في لقطة الشاشة أدناه:
tryhackme@linux1:~/Documents$ pwd/home/ubuntu/Documentstryhackme@linux1:~/Documents$
دعنا نقسم هذا:
- نحن نعلم بالفعل أننا في "المستندات" بفضل محطتنا ، ولكن في الوقت الحالي ، ليس لدينا أي فكرة عن مكان تخزين "المستندات" حتى نتمكن من الرجوع إليها بسهولة في المستقبل.
- لقد استخدمت الأمر " pwd " ( p rint w orking d irectory) للعثور على مسار الملف الكامل لمجلد "المستندات" هذا.
- أخبرنا Linux بشكل مفيد أن دليل "المستندات" هذا مخزَّن في "/ home / ubuntu / Documents" على الجهاز - من الرائع معرفة ذلك!
- الآن في المستقبل ، إذا وجدنا أنفسنا في مكان مختلف ، يمكننا فقط
cd /home/ubuntu/Documents
تغيير دليل العمل الخاص بنا إلى دليل "المستندات" هذا.
على الرغم من أنه لا يبدو كذلك حتى الآن ، إلا أن إحدى ميزات الاسترداد في Linux هي مدى فاعلية استخدامك لها. مع ذلك ، يمكنك فقط أن تكون فعالًا كما هو معتاد عليه بالطبع. أثناء تفاعلك مع أنظمة تشغيل مثل Ubuntu بمرور الوقت ، ستبدأ الأوامر الأساسية مثل تلك التي قمنا بتغطيتها بالفعل في أن تصبح ذاكرة عضلية.
إحدى الطرق الرائعة لإظهار مدى فعاليتك مع أنظمة مثل هذه هي استخدام مجموعة من الأوامر للبحث بسرعة عن الملفات عبر النظام بأكمله التي يمكن لمستخدمنا الوصول إليها. لا داعي للاستخدام المستمر cd
ومعرفة ls
مكانه. بدلاً من ذلك ، يمكننا استخدام أوامر مثل find
أتمتة أشياء مثل هذه بالنسبة لنا!
هذا هو المكان الذي يبدأ فيه Linux في أن يصبح مخيفًا أكثر قليلاً في الاقتراب - لكننا سنقوم بتقسيم هذا الأمر ونساعدك فيه.
باستخدام البحث
يعد الأمر find أمرًا رائعًا بمعنى أنه يمكن استخدامه بكل بساطة شديدة أو إلى حد ما معقدًا اعتمادًا على ما تريد القيام به بالضبط. في الواقع ، لدينا غرفة كاملة مخصصة لاستخدام وممارسة أمر البحث . ومع ذلك ، دعنا نتمسك بالأساسيات أولاً.
خذ المقتطف أدناه ، يمكننا أن نرى قائمة الأدلة المتاحة لنا:
tryhackme@linux1:~$ lsDesktop Documents Pictuers folder1tryhackme@linux1:~$
- سطح المكتب
- وثائق
- الصور
- المجلد 1
الآن ، بالطبع ، يمكن أن تحتوي الدلائل على المزيد من الدلائل داخل نفسها. يصبح الأمر صداعًا عندما يتعين علينا البحث في كل واحد فقط لمحاولة البحث عن ملفات معينة. يمكننا أن find
نفعل هذا فقط من أجلنا!
لنبدأ ببساطة ونفترض أننا نعرف بالفعل اسم الملف الذي نبحث عنه - لكن لا يمكننا تذكر مكانه بالضبط! في هذه الحالة ، نبحث عن "passwords.txt"
إذا تذكرنا اسم الملف ، فيمكننا ببساطة استخدام find -name passwords.txt
المكان الذي سيبحث فيه الأمر في كل مجلد في دليلنا الحالي لهذا الملف المحدد مثل:
tryhackme@linux1:~$ find -name passwords.txt./folder1/passwords.txttryhackme@linux1:~$
نجح "بحث" في العثور على الملف - اتضح أنه موجود في folder1 / passwords.txt - حلو. لكن لنفترض أننا لا نعرف اسم الملف ، أو نريد البحث عن كل ملف له امتداد مثل ".txt". تجد دعونا نفعل ذلك أيضا!
يمكننا ببساطة استخدام ما يُعرف باسم حرف البدل (*) للبحث عن أي شيء يحتوي على .txt في النهاية. في حالتنا ، نريد العثور على كل ملف .txt موجود في دليلنا الحالي. سنقوم ببناء أمر مثل find -name *.txt
. حيث تمكن "بحث" من العثور على كل ملف .txt ومن ثم أعطانا موقع كل ملف:
tryhackme@linux1:~$ find -name *.txt./folder1/passwords.txt./Documents/todo.txttryhackme@linux1:~$
تمكنت Find من العثور على :
- "passwords.txt" الموجود داخل "folder1"
- "todo.txt" الموجود داخل "المستندات"
لم يكن ذلك صعبًا جدًا ، أليس كذلك!
باستخدام Grep
فائدة أخرى رائعة من المفيد التعرف عليها وهي استخدام grep
. يسمح grep
لنا الأمر بالبحث في محتويات الملفات عن قيم محددة نبحث عنها.
خذ على سبيل المثال سجل الوصول لخادم الويب. في هذه الحالة ، يحتوي سجل access.log الخاص بخادم الويب على 244 إدخالاً.
tryhackme@linux1:~$ wc -l access.log244 access.logtryhackme@linux1:~$
لن يؤدي استخدام أمر مثل cat
إلى قطعه جيدًا هنا. لنفترض على سبيل المثال إذا أردنا البحث في ملف السجل هذا لمعرفة الأشياء التي زارها مستخدم / عنوان IP معين؟ إن البحث في 244 إدخالاً ليس بهذه الفعالية مع الأخذ في الاعتبار أننا نريد إيجاد قيمة محددة.
يمكننا استخدامها grep
للبحث في محتويات هذا الملف بالكامل عن أي إدخالات للقيمة التي نبحث عنها. بالانتقال إلى مثال سجل الوصول لخادم الويب ، نريد أن نرى كل شيء زاره عنوان IP "81.143.211.90" (لاحظ أن هذا خيالي)
tryhackme@linux1:~$ grep "81.143.211.90" access.log81.143.211.90 - - [25/Mar/2021:11:17 + 0000] "GET / HTTP/1.1" 200 417 "-" "Mozilla/5.0 (Linux; Android 7.0; Moto G(4))"tryhackme@linux1:~$
لقد بحث "Grep" في هذا الملف وأظهر لنا أي إدخالات لما قدمناه وهذا موجود في ملف السجل هذا لعنوان IP.
تعد مشغلي Linux طريقة رائعة لتعزيز معرفتك بالعمل مع Linux. هناك عدد قليل من المشغلين المهمين الجديرة بالملاحظة. سنغطي الأساسيات ونقسمها وفقًا لقطع صغيرة الحجم.
في نظرة عامة ، سأقوم بعرض العوامل التالية:
الرمز / المشغل | وصف |
& | يتيح لك هذا المشغل تشغيل الأوامر في خلفية جهازك. |
&& | يسمح لك هذا المشغل بدمج أوامر متعددة معًا في سطر واحد من جهازك. |
> | هذا العامل عبارة عن معيد توجيه - مما يعني أنه يمكننا أخذ الإخراج من أمر (مثل استخدام cat لإخراج ملف) وتوجيهه إلى مكان آخر. |
>> | يقوم هذا العامل بنفس وظيفة |
المشغل أو العامل "&"
يسمح لنا هذا المشغل بتنفيذ الأوامر في الخلفية. على سبيل المثال ، لنفترض أننا نريد نسخ ملف كبير. من الواضح أن هذا سيستغرق وقتًا طويلاً وسيتركنا غير قادرين على فعل أي شيء آخر حتى يتم نسخ الملف بنجاح.
يسمح لنا عامل التشغيل "&" بتنفيذ أمر وتشغيله في الخلفية (مثل نسخة الملف هذه) مما يسمح لنا بالقيام بأشياء أخرى!
المشغل أو العامل "&&"
يعتبر مشغل الصدفة هذا مضللًا بعض الشيء من حيث مدى إلمامه بشريكه "&". على عكس عامل التشغيل "&" ، يمكننا استخدام "&&" لعمل قائمة بالأوامر للتشغيل على سبيل المثال command1 && command2
. ومع ذلك ، تجدر الإشارة إلى أنه command2
لن يتم تشغيله إلا إذا command1
كان ناجحًا.
عامل التشغيل ">"
هذا العامل هو ما يعرف باسم معيد توجيه الإخراج. ما يعنيه هذا بشكل أساسي هو أننا نأخذ الإخراج من أمر نقوم بتشغيله وإرساله إلى مكان آخر.
وخير مثال على ذلك هو إعادة توجيه إخراج echo
الأمر الذي تعلمناه في المهمة 4. بالطبع ، تشغيل شيء مثل echo howdy
سيعيد "مرحبًا" مرة أخرى إلى محطتنا - وهذا ليس مفيدًا للغاية. ما يمكننا فعله بدلاً من ذلك ، هو إعادة توجيه "مرحباً" إلى شيء مثل ملف جديد!
لنفترض أننا أردنا إنشاء ملف باسم "مرحبًا" بالرسالة "مرحبًا". يمكننا تشغيل echo hey > welcome
حيث نريد إنشاء الملف بالمحتويات "مرحبًا" مثل:
tryhackme@linux1:~$ echo hey > welcome
tryhackme@linux1:~$ cat welcomehey
ملاحظة: إذا كان الملف مثل "ترحيب" موجودًا بالفعل ، فسيتم استبدال المحتويات!
عامل التشغيل ">>"
هذا المشغل هو أيضًا معيد توجيه الإخراج كما في المشغل السابق ( >
) الذي ناقشناه. ومع ذلك ، فإن ما يجعل هذا العامل مختلفًا هو أنه بدلاً من الكتابة فوق أي محتويات داخل ملف ، على سبيل المثال ، فإنه بدلاً من ذلك يضع الإخراج في النهاية.
متابعة بمثالنا السابق حيث لدينا ملف "مرحبًا" الذي يحتوي على محتويات "مرحباً". إذا كنت تريد استخدام echo لإضافة "hello" إلى الملف باستخدام >
عامل التشغيل ، فسيكون للملف الآن "hello" فقط وليس "hey".
يسمح >>
المشغل بإلحاق المخرجات بأسفل الملف - بدلاً من استبدال المحتويات كما يلي:
tryhackme@linux1:~$ echo hello >> welcome
tryhackme@linux1:~$ cat welcomeheyhello
عمل جيد للوصول إلى هذه المرحلة! لقد غطينا القليل جدًا لتفاعلاتك الأولى مع Linux . ومع ذلك ، فهذه هي أهم الوظائف / الوظائف التي ستستخدمها عندما تتفاعل مع جهاز Linux.
آمل ألا تكون هذه الغرفة شاقة للغاية بالنسبة لك لتتمكن من تشغيلها. كما ذكرت سابقًا ، سوف تتعرف على هذه الأشياء بسرعة كبيرة بسبب عدد المرات التي ستستخدمها فيها.
للتلخيص السريع ، قمنا بتغطية ما يلي:
- فهم سبب شيوع Linux اليوم
- التفاعل مع أول جهاز Linux خاص بك على الإطلاق !
- قم بتشغيل بعض الأوامر الأساسية
- كان لدينا مقدمة للتنقل حول نظام الملفات وكيف يمكننا استخدام أوامر مثل find و grep لجعل العثور على البيانات أكثر كفاءة!
- قم بتشغيل أوامرك من خلال التعرف على بعض مشغلي الصدفة المهمين.
تعليقات: (0) إضافة تعليق