Jannah Theme License is not validated, Go to the theme options page to validate the license, You need a single license for each domain name.

أفضل لعبة تفاعلية لتعلم أوامر Linux الأساسية بسرعة

لقد لعبت هذه اللعبة المجانية لمهارات Linux وتعلمت 6 أوامر جديدة

تعلم أوامر Linux قد يبدو معقدًا في البداية، خاصة إذا لم تكن معتادًا على التعامل مع سطر الأوامر. لكن هناك طرق مبتكرة تجعل التجربة أكثر سهولة ومتعة، ومن بينها لعبة تفاعلية صممت خصيصًا لتدريبك على أشهر الأوامر الأساسية مثل ls, cd, mkdir, rm وغيرها. بدلًا من قراءة قوائم طويلة أو مشاهدة شروحات مملة، يمكنك استخدام هذه اللعبة لتجربة الأوامر عمليًا، ومعرفة تأثير كل منها بشكل فوري. هذا النوع من التدريب العملي يساعدك على التعلّم بشكل أسرع ويجعل أوامر Linux جزءًا من مهاراتك اليومية.

linux-terminal أفضل لعبة تفاعلية لتعلم أوامر Linux الأساسية بسرعة

أنا من أشد المعجبين بالتعلم المُلَعَب. هذا ما دفعني لتجربة لعبة تعليمية شهيرة على نظام لينكس: OverTheWire. ما بدأ كفضول سريع تحول إلى ساعات من حل الألغاز المُدمنة، وسحر الطرفية، ولحظات “آها!” التي لا تُدركها إلا عندما تُدرك شيئًا ما.

لماذا أحب OverTheWire كثيرًا؟

the-homepage-of-overthewire-bandit-wargame أفضل لعبة تفاعلية لتعلم أوامر Linux الأساسية بسرعة

OverTheWire هي مجموعة من ألعاب الحرب. ألعاب الحرب هي في الأساس تحديات على غرار CTF، حيث يتعين عليك تنفيذ مهمة معينة للحصول على رمز خاص كدليل على اجتيازك ذلك المستوى. في سياق OverTheWire Bandit، وهو ما سأتحدث عنه بشكل أساسي، عليك البحث عن كلمة مرور سرية والعثور عليها للانتقال إلى المستوى التالي.

لقد استكشفت العديد من الألعاب التي تُعلّم لينكس حتى الآن. لكن OverTheWire تتميز حقًا بكيفية إعداد بيئتها وكيف تتحدى معرفتك في تحديات واقعية مبنية على سيناريوهات. ستُنقل إلى أنظمة لينكس حقيقية لتستكشفها. سواء كنت جديدًا على لينكس أو مستخدمًا متوسطًا، ستجد في اللعبة ما يناسبك.

صُممت المستويات لتزداد صعوبتها بسلاسة. من الأشياء التي تُعجبني أن مستوى معينًا قد يتطلب أيضًا أوامر وتقنيات من المستويات السابقة. هذا يساعدك على الاحتفاظ بما تعلمته لفترة أطول وترسيخه.

أكثر ما يُعجبني في OverTheWire هو كيفية تعاملها معك كمتعلم كفؤ. إنه لا يهدف إلى تحويلك إلى روبوت يحفظ الأوامر والتقنيات، بل يساعدك على أن تصبح شخصًا قادرًا على البحث وحل المشكلات والتفكير في مجالات غير مألوفة. هذه مهارات تتجاوز حدود الطرفية وتظهر في كل مكان في عالم التكنولوجيا.

يُعلّمك أهم مهارة في Linux .

linux-terminal-a-search-bar-in-the-center-and-tux-holding-a-magnifying-glass أفضل لعبة تفاعلية لتعلم أوامر Linux الأساسية بسرعة

إذا كان هناك شيء واحد يُعلّمه OverTheWire أفضل من أي برنامج تعليمي أو فيديو يوتيوب، فهو تعلّم كيفية فهم الأمور بنفسك.

عندما تلعب Bandit، لا تُوجّهك اللعبة. تُحدّد هدفك، وقد تحصل على تلميح أو اثنين حول الأوامر التي قد تُساعدك. هذا كل شيء. لا يوجد شرح مُدمج في المستوى، ولا تلميحات تشرح كيفية عمل أمر xyz، وبالتأكيد لا توجد نافذة منبثقة تُظهر لك الصيغة الدقيقة التي يجب استخدامها. عليك البحث عنها. عليك المحاولة، ثم الفشل، ثم تعديل أسلوبك، ثم المحاولة مرة أخرى. وهذا بالضبط ما يجعله ممتازًا.

اقرأ أيضا:  أفضل الطرق لتسريع تعلم سطر أوامر Linux بفعالية

بالنسبة لي، هذه هي مهارة لينكس الأساسية. أن تكون على طبيعتك في عدم معرفة شيء ما، ثم اكتشافه من خلال البحث، وقراءة صفحات الدليل، والتجربة. إنها المهارة التي تُميّز من ينسخ أوامر Stack Overflow فقط من من يفهم ما يفعله بالفعل.

ستتعلم أكثر من مجرد أوامر Linux

لا يقتصر OverTheWire على أوامر لينكس. مع أن Bandit يُعنى بذلك تقنيًا، إلا أنك ستتعلم في النهاية أكثر بكثير من مجرد قواعد اللغة.

على سبيل المثال، ستتعرف على أمور مثل أذونات الملفات، وبروتوكولات الشبكة، وتكنولوجيا الإنترنت، وترميز النصوص. اضطررتُ لفك تشفير سلاسل سداسية عشرية، والنظر داخل ملفات ثنائية غريبة، والاتصال بمنافذ غامضة، وفهم هيكلية نظام ملفات لينكس بشكل أعمق.

بمجرد الانتهاء من Bandit، ستنفتح لك OverTheWire أكثر. يتعمق Leviathan في تصعيد الامتيازات. هناك Narnia، التي تتعمق في استغلال الذاكرة وتجاوزات المخزن المؤقت. يركز Krypton على أساسيات التشفير. تتضمن Maze تحديات الهندسة العكسية والاستغلال. تعتمد كل لعبة حرب على جانب مختلف من جوانب الأمان، أو البرمجة، أو غيرها من مفاهيم علوم الحاسوب.

الأوامر التي تعلمتها

حسنًا، لا أقول إن OverTheWire كان أول مكان رأيت فيه هذه الأوامر، ولكنها كانت المرة الأولى منذ فترة التي اضطررت فيها لاستخدامها لغرض محدد. نسيتُ بعض هذه الأوامر جزئيًا، بينما استخدمتُ بعضها الآخر فقط بتركيبات منسوخة ولصقة، ولم تكن لديّ فكرة واضحة عما يحدث. أجبرني لعب Bandit على التمهل وتعلم وظيفة كل أمر، وكيفية استخدامه بذكاء ودقة أكبر. إليكم ستة أوامر مميزة.

SSH

SSH هو اختصار لـ Secure Shell. وهو الطريقة القياسية للاتصال عن بُعد بجهاز طرفي لجهاز آخر، وخاصةً عبر الإنترنت. يشبه الأمر نقل جلسة سطر الأوامر الخاصة بك إلى جهاز كمبيوتر آخر، بشكل آمن ومشفّر، بحيث لا تُكشف بياناتك وكلمة مرورك أثناء النقل. إليك أبسط صيغة لأمر ssh:

ssh username@hostname

ssh هو أول أمر ستستخدمه في لعبة OverTheWire Bandit. في الواقع، عليك استخدامه حتى تبدأ، إذ يجب عليك الاتصال بخادمهم للعب. عليك استخدامه في كل مستوى، ليصبح أمرًا طبيعيًا بالنسبة لك. إليك الطريقة:

ssh [email protected] -p 2220

connecting-to-overthewire-bandit-server-via-ssh أفضل لعبة تفاعلية لتعلم أوامر Linux الأساسية بسرعة

هنا، تتصل بخادم bandit.labs.overthewire.org كمستخدم bandit0 عبر المنفذ 2220. بمجرد الاتصال، ستحصل على واجهة برمجة تطبيقات على هذا الجهاز البعيد، وستتمكن من الوصول إلى النظام.

اقرأ أيضا:  أفضل الطرق لعمل نسخة احتياطية لملفاتك على Ubuntu

find

find هي أداة سطر أوامر للبحث في المجلدات وتحديد موقع الملفات التي تُطابق معايير مُحددة، مثل الاسم والحجم والأذونات ووقت التعديل وغيرها. تُشبه إلى حدٍ ما إصدار لينكس من وظيفة البحث، ولكنها أكثر فعالية. الصيغة الأساسية:

find [path] [options]

على سبيل المثال، لنفترض أنك تريد البحث عن ملف باسم “password.txt”. إليك الأمر اللازم:

find . -name "password.txt"

هذا يُخبر الأمر find بالبحث في الدليل الحالي (.) وجميع مجلداته الفرعية عن ملف باسم password.txt. في أحد المستويات الأولى من Bandit، كان عليك البحث عن ملف قابل للقراءة، بحجم 1033 بايت، وغير قابل للتنفيذ. كان أمر find مناسبًا لهذا السيناريو.

find dir_name -type f -size 1033c ! -executable

يبحث هذا عن الملفات في المجلد المحدد التي يبلغ حجمها 1033 بايت بالضبط (c تعني بايت) ويستبعد الملفات غير القابلة للتنفيذ.

sort

تقوم أداة سطر الأوامر sort بترتيب أسطر النص بترتيب محدد. يمكن أن يكون الترتيب أبجديًا أو رقميًا أو بناءً على قواعد أخرى تحددها. قد تبدو بسيطة بشكل خادع، ولكن عند دمجها مع أدوات أخرى مثل uniq وcut وawk، تصبح أداة قوية لمعالجة بيانات النصوص. الصيغة الأساسية هي كما يلي:

sort [options] [filename]

على سبيل المثال:

sort file.txt

سيؤدي هذا إلى فرز أسطر ملف file.txt أبجديًا وطباعتها على جهازك الطرفي. في أحد المستويات، ستجد ملفًا يحتوي على العديد من كلمات المرور. للعثور على كلمة المرور الصحيحة بسرعة، كان عليك فرز الملف أبجديًا وتصفية القيم الفريدة. كان أمر الفرز مفيدًا لذلك:

​​​​​​sort data.txt | uniq -u

بما أن uniq يعمل فقط على الأسطر المكررة المتتالية، فقد احتجنا إلى فرزها أولًا. الآن، سيُخرج فقط الأسطر التي تظهر مرة واحدة بالضبط.

xxd

يُنشئ أمر xxd تفريغًا سداسيًا عشريًا لملف، أو يُحوّله إلى شكله الثنائي الأصلي. إنه أداة متخصصة نوعًا ما، ولكنه مفيد للغاية عند التعامل مع بيانات مخفية، أو ملفات مُرمّزة، أو عند محاولة فحص المحتوى الخام لشيء ما. في أبسط صوره، تُمرّر اسم ملف إليه.

xxd [filename]

لذا إذا كان لديك ملف secret.txt:

xxd secret.txt

سيؤدي هذا إلى إخراج محتويات ملف secret.txt بالنظام السداسي عشري مع تمثيل ASCII. يمكنك أيضًا استخدام الخيار -r لتحويل ملف سداسي عشري إلى ملف ثنائي. في أحد المستويات، ستحصل على ملف سداسي عشري لملف ثنائي. باستخدام xxd، يجب عليك تحويله مرة أخرى إلى ملف ZIP.

xxd -r data.txt data

يُحوّل هذا الملف النصي إلى ملف ثنائي، بشرط أن يكون ملف التفريغ السداسي عشري بالتنسيق الصحيح.

اقرأ أيضا:  كيف أصبح Linux القوة الخفية وراء التكنولوجيا الحديثة

strings

strings هي أداة سطر أوامر تستخرج نصًا قابلًا للطباعة من الملفات الثنائية. إذا فتحتَ ملفًا غريب المظهر ورأيتَ جدارًا من الكلمات غير المفهومة، فإن السلاسل النصية تساعد في استخراج الأجزاء القابلة للقراءة، مثل كلمات المرور أو الأدلة أو الرسائل المخفية. تُعد هذه الأداة مفيدة بشكل خاص عندما لا يكون الملف نصيًا من الناحية الفنية، ولكنه لا يزال يحتوي على نص قابل للقراءة في مكان ما داخله.

strings secret_file

سيقوم هذا بمسح ملف secret_file وطباعة أي تسلسلات أحرف قابلة للطباعة يجدها. في أحد المستويات، يوجد ملف يحتوي على نص مقروء مخفي بين مجموعة كبيرة من الكلمات غير المفهومة. لتصفية النص الحقيقي، يجب عليك استخدام أمر strings في هذا الملف.

nc

nc، اختصار لـ netcat، هي أداة شبكات متعددة الاستخدامات يمكنها قراءة وكتابة البيانات عبر اتصالات الشبكة باستخدام TCP أو UDP. غالبًا ما تُسمى “السكين السويسري” لأدوات الشبكات نظرًا لقدرتها على القيام بالعديد من المهام، مثل إعداد خادم بسيط، وتصحيح أخطاء المنافذ، أو قراءة البيانات من منفذ.

nc host_ip port_number

يقوم هذا بربط جهازك بالمنفذ 1234 على localhost، مما يسمح لك بإرسال واستقبال النصوص أو البيانات الخام. على مستوى واحد، يُطلب منك تقديم كلمة مرور إلى المنفذ 30000 الخاص بـ localhost. يمكنك القيام بذلك باستخدام الأمر nc.

nc localhost 30000
[Prompt to enter password]

يُرسِل هذا كلمة مرورك أو أي بيانات أخرى إلى المنفذ المُختار لاسم المُضيف المُختار.

طريقتي المُوصى بها للعب OverTheWire

لا يتعلم الجميع بنفس الطريقة، وهذا أمر طبيعي. إذا كان أحدهم جديدًا تمامًا على لينكس، فقد يجد OverTheWire صعبًا بعض الشيء في البداية. مع ذلك، هناك طريقة تُسهّل الأمر قليلًا، وستساعدك أيضًا على تحقيق أقصى استفادة من هذه اللعبة.

يحتوي كل مستوى على قائمة أوامر وبعض المفاهيم الأساسية التي قد تحتاج إلى إتقانها لاجتيازه. نصيحتي لك هي عدم التسرع في أي مستوى لمجرد إكماله. بدلًا من ذلك، خُذ وقتك في قراءة كل مفهوم لفهمه جيدًا. تربط المستويات بالفعل الموارد. إذا كانت لا تزال لديك شكوك، فقم بإجراء المزيد من البحث.

ينطبق الأمر نفسه على أوامر لينكس. اقرأ صفحات الدليل لفهم كل أمر، وجرّبها لفهم سلوكها. بعد ذلك، انتقل إلى المستوى الأول وابدأ رحلتك من هناك.

سواء كنتَ جديدًا على لينكس أو من مُحبيه، ننصحك بتجربة OverTheWire. مهما كانت مهاراتك، ستتعلم شيئًا جديدًا أيضًا. هناك العديد من الموارد الرائعة الأخرى لتعلم لينكس تستحق الاستكشاف.

تعلم Linux لا يحتاج لأن يكون مملًا أو صعبًا. باستخدام ألعاب تفاعلية مخصصة، يمكنك تعزيز مهاراتك العملية في سطر الأوامر دون الشعور بالضغط أو الإرباك. هذه الطريقة لا تقدم فقط تجربة تعليمية فعالة، بل تتيح لك التمرّن على الأوامر في بيئة تحاكي الواقع. جرب اللعبة بنفسك، وستلاحظ كيف تتحسن قدرتك على استخدام Linux بذكاء وثقة أكبر.

زر الذهاب إلى الأعلى