مضى على الشبكة و يوم من العطاء.

حل تحدّي bandit المرحلة رقم 8 --> 9

BAYANBAYAN is verified member.

الرقابة والتنظيم
.:: الرقابة والتنظيم ::.
.:: طاقم المشرفين ::.

السمعة:

بسم الله الرحمن الرحيم

وصف التّحدي :
كملة المرور للمرحلة التالية مخزنة داخل ملف data.txt، وهو السطر الوحيد من الملف الموجود مرة واحدة فقط.

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

سأقوم بشرح الحل بالتفصيل، لنتمكن سويًّا من مراجعة بعض الأوامر السابقة التي تعلمناها.

بداية لابد من الاتصال بالسيرفر الخاص بهذه التحديات كما تعلمنا بالمراحل السابقة :
كود:
ssh [email protected] -p 2220

الآن وقد أصبحنا داخل السيرفر بإسم المستخدم bandit8، نحتاج إلى عرض محتويات الملف data.txt، وكما تعلمنا سابقًا نقوم بذلك باستخدام الأمر cat :

كود:
cat data.txt

تذكير:
- cat: هذا الأمر يعرض محتوى الملفات النصية على شكل مُخرجات على سطر الأوامر ( terminal ).


بعد عرض المحتويات، نحتاج إلى ترتيب محتويات الملف باستخدام الأمر الجديد الذي سنتعمله اليوم وهو الأمر sort.

الأمر الخاص يترتيب محتويات ملف data.txt :
كود:
sort data.txt
التوضيح:
- sort: يقوم هذا الأمر بترتيب الأسطر في الملف حسب الترتيب الرقمي أو الأبجدي. هذه الخطوة ضرورية لأن الأمر uniq الذي سنستخدمه تاليًأ يعمل فقط على البيانات المرتبة، وسيتم شرح ذلك بالتفصيل فقط تابعوا معي خطوة بخطوة.


والآن، بعد ترتيب الأسطر داخل الملف; نتقل للأمر التالي وهو أمر جديد سنتعمله اليوم، الأمر uniq حيث نستخدم الأمر uniq مع الخيار -u لاستخراج الأسطر الفريدة فقط والغير متكررة إطلاقًا، كما هو مذكور بوصف التحدي.

الأمر الخاص باستخراج الأسطر الفريدة والغير مكررة من محتويات ملف data.txt :
كود:
 uniq -u
التوضيح:
uniq: يقوم بإزالة الأسطر المكررة من الملف.
u- : يعرض فقط الأسطر الفريدة الموجودة مرة واحدة دون أي تكرار.

وسنوضح الفرق بالمثال التالي:

لنفترض أن لدينا ملف نصي يحتوي على الأسطر التالية:
kali
parrot
ubntu
ubuntu
kali
RedHat

فعندما نختار الأمر uniq فقط دون خيار u فإنه كما ذكرنا سيقوم بإزالة الأسطر المكررة، حيث سيحتفظ بنسخة واحدة فقط من كل سطر، حتى لو كان السطر مكررًا عدة مرات. الناتج سيكون كما يلي:
kali
parrot
ubuntu
RedHat

أما عند استخدام الأمر uniq مع u- سنقوم باستخراج الأسطر الفريدة فقط، والغير مكررة اطلاقًا، كما شرحت سابقًا وسنقوم بإزالة أي سطر يظهر أكثر من مرة. والناتج سيكون كما يلي:
parrot
RedHat

الآن، علينا أن نقوم بتطبيق الأمر sort مع الأمر uniq :

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

ويمكنك ترتيب الملف ووضع محتوياته المرتبة بملف آخر، ومن ثم تنفيذ الأمر uniq على الملف المُرتب، حيث أنه على سبيل المثال sorted.txt --> اسم الملف الجديد بعد ترتيب محتوياته، ويمكنك تنفيذ الأمر كما يلي:
كود:
sort data.txt > sorted.txt[/SIZE][/CENTER][/SIZE][/CENTER][/SIZE][/CENTER]
[SIZE=5][CENTER][SIZE=5][CENTER][SIZE=5][CENTER]uniq -u sorted.txt




ولكن الأفضل أن تقوم بدمجهم بسطر واحد باستخدام اشارة الـ piping " | " كمان تعلمنا بالمرحلة السابقة.
رمز الـ “ | “ : ويمكن ان نطلق عليه pip من عملية الـ piping، من اسمه فهو يعمل كأنبوب توصيل بين أي أمرين على التيرمنال ( سطر الأوامر ) حيث يتم استخدام مُخرجات الأمر الذي قبل الـ piping “ | “ ، كمدخلات للأمر الذي بعده، فيربط بين الأمرين حيث يتم استخدام مُخرجات الأمر الأول لتطبيق الأمر الثاني عليها ( كمدخلات له ).


الآن، نقوم نقوم بدمج الأمر sort مع الأمر uniq في سطر واحد كما يلي:
كود:
sort data.txt | uniq -u[/SIZE][/CENTER][/SIZE][/CENTER][/SIZE][/CENTER]
[SIZE=5][CENTER][SIZE=5][CENTER][SIZE=5][CENTER]




لنحصل على كلمة المرور للمرحلة التالية:
1723899251297.webp


الحمد لله، الى هُنا ينتهي شرح هذه المرحلة، انتظروني بالمراحل القادمة،
✨طبتم وطابت أوقاتكم ودمتم بخير، والسلام عليكم ✨
 
بارك الله فيك وجزاك الله كل خير
 
  • Love
التفاعلات: BAYAN
بسم الله الرحمن الرحيم

وصف التّحدي :
كملة المرور للمرحلة التالية مخزنة داخل ملف data.txt، وهو السطر الوحيد من الملف الموجود مرة واحدة فقط.

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

سأقوم بشرح الحل بالتفصيل، لنتمكن سويًّا من مراجعة بعض الأوامر السابقة التي تعلمناها.

بداية لابد من الاتصال بالسيرفر الخاص بهذه التحديات كما تعلمنا بالمراحل السابقة :
كود:
ssh [email protected] -p 2220

الآن وقد أصبحنا داخل السيرفر بإسم المستخدم bandit8، نحتاج إلى عرض محتويات الملف data.txt، وكما تعلمنا سابقًا نقوم بذلك باستخدام الأمر cat :

كود:
cat data.txt

تذكير:
- cat: هذا الأمر يعرض محتوى الملفات النصية على شكل مُخرجات على سطر الأوامر ( terminal ).


بعد عرض المحتويات، نحتاج إلى ترتيب محتويات الملف باستخدام الأمر الجديد الذي سنتعمله اليوم وهو الأمر sort.

الأمر الخاص يترتيب محتويات ملف data.txt :
كود:
sort data.txt
التوضيح:
- sort: يقوم هذا الأمر بترتيب الأسطر في الملف حسب الترتيب الرقمي أو الأبجدي. هذه الخطوة ضرورية لأن الأمر uniq الذي سنستخدمه تاليًأ يعمل فقط على البيانات المرتبة، وسيتم شرح ذلك بالتفصيل فقط تابعوا معي خطوة بخطوة.


والآن، بعد ترتيب الأسطر داخل الملف; نتقل للأمر التالي وهو أمر جديد سنتعمله اليوم، الأمر uniq حيث نستخدم الأمر uniq مع الخيار -u لاستخراج الأسطر الفريدة فقط والغير متكررة إطلاقًا، كما هو مذكور بوصف التحدي.

الأمر الخاص باستخراج الأسطر الفريدة والغير مكررة من محتويات ملف data.txt :
كود:
 uniq -u
التوضيح:
uniq: يقوم بإزالة الأسطر المكررة من الملف.
u- : يعرض فقط الأسطر الفريدة الموجودة مرة واحدة دون أي تكرار.

وسنوضح الفرق بالمثال التالي:

لنفترض أن لدينا ملف نصي يحتوي على الأسطر التالية:
kali
parrot
ubntu
ubuntu
kali
RedHat

فعندما نختار الأمر uniq فقط دون خيار u فإنه كما ذكرنا سيقوم بإزالة الأسطر المكررة، حيث سيحتفظ بنسخة واحدة فقط من كل سطر، حتى لو كان السطر مكررًا عدة مرات. الناتج سيكون كما يلي:
kali
parrot
ubuntu
RedHat

أما عند استخدام الأمر uniq مع u- سنقوم باستخراج الأسطر الفريدة فقط، والغير مكررة اطلاقًا، كما شرحت سابقًا وسنقوم بإزالة أي سطر يظهر أكثر من مرة. والناتج سيكون كما يلي:
parrot
RedHat

الآن، علينا أن نقوم بتطبيق الأمر sort مع الأمر uniq :

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

ويمكنك ترتيب الملف ووضع محتوياته المرتبة بملف آخر، ومن ثم تنفيذ الأمر uniq على الملف المُرتب، حيث أنه على سبيل المثال sorted.txt --> اسم الملف الجديد بعد ترتيب محتوياته، ويمكنك تنفيذ الأمر كما يلي:
كود:
sort data.txt > sorted.txt[/SIZE][/CENTER][/SIZE][/CENTER][/SIZE][/CENTER][/SIZE][/CENTER]
[SIZE=5][CENTER][SIZE=5][CENTER][SIZE=5][CENTER][SIZE=5][CENTER]uniq -u sorted.txt





ولكن الأفضل أن تقوم بدمجهم بسطر واحد باستخدام اشارة الـ piping " | " كمان تعلمنا بالمرحلة السابقة.
رمز الـ “ | “ : ويمكن ان نطلق عليه pip من عملية الـ piping، من اسمه فهو يعمل كأنبوب توصيل بين أي أمرين على التيرمنال ( سطر الأوامر ) حيث يتم استخدام مُخرجات الأمر الذي قبل الـ piping “ | “ ، كمدخلات للأمر الذي بعده، فيربط بين الأمرين حيث يتم استخدام مُخرجات الأمر الأول لتطبيق الأمر الثاني عليها ( كمدخلات له ).


الآن، نقوم نقوم بدمج الأمر sort مع الأمر uniq في سطر واحد كما يلي:
كود:
sort data.txt | uniq -u[/SIZE][/CENTER][/SIZE][/CENTER][/SIZE][/CENTER][/SIZE][/CENTER]
[SIZE=5][CENTER][SIZE=5][CENTER][SIZE=5][CENTER][SIZE=5][CENTER]





لنحصل على كلمة المرور للمرحلة التالية:
مشاهدة المرفق 12579

الحمد لله، الى هُنا ينتهي شرح هذه المرحلة، انتظروني بالمراحل القادمة،
✨طبتم وطابت أوقاتكم ودمتم بخير، والسلام عليكم ✨
الله يعطيكِ ألف عافية بيان ويجزيك الخير ❤️
 
  • Love
التفاعلات: BAYAN
ما شاء الله عليك اخي بيان جازاك الله خير على الشرح
اقتراح يا ريت لو تترك الFlag بدون ما تعرضة في الموضوع سواء صورة او كتابة
خلي الي يحب يصيده يطبق الخطوات بنفسه و لعله يتعلم من الاخطاء اذا صادفه شي اثناء التطبيق
 
  • Love
التفاعلات: BAYAN
ما شاء الله عليك اخي بيان جازاك الله خير على الشرح
اقتراح يا ريت لو تترك الFlag بدون ما تعرضة في الموضوع سواء صورة او كتابة
خلي الي يحب يصيده يطبق الخطوات بنفسه و لعله يتعلم من الاخطاء اذا صادفه شي اثناء التطبيق
أشكرك، أجمعين يارب🌸
اه مزبوط كلامك؛ لهيك انا ما بحط الفلاق، اللي هي نفسها كلمة سر المرحلة اللي بعدها.
 
  • Wow
التفاعلات: OldMe

آخر المشاركات

عودة
أعلى