الأخبار التكنولوجية والاستعراضات والنصائح!

كيفية استخدام أمر السلسلة على Linux

هل تريد رؤية النص في ملف ثنائي أو ملف بيانات؟ يستخرج أمر سلاسل Linux هذه الأجزاء من النص – ما يسمى بـ “السلاسل” – من أجلك.

لينكس مليء بالأوامر التي يمكن أن تبدو كحلول في البحث عن المشاكل. أمر السلسلة يقع بالتأكيد في هذا المعسكر. ما هو الغرض منه؟ هل هناك أي نقطة في الأمر يسرد السلاسل القابلة للطباعة من ملف ثنائي؟

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

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

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

باستخدام أمر السلاسل

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

هنا سوف نستخدم سلاسل في ملف ثنائي – ملف قابل للتنفيذ – يسمى “jibber”. نكتب سلاسل ، مسافة ، “jibber” ثم نضغط على Enter.

سلسلة jibbers

يتم استخراج السلاسل من الملف ويتم سردها في نافذة المحطة الطرفية.

كيفية استخدام أمر السلسلة على Linux 1

ضبط الحد الأدنى لطول السلسلة

بشكل افتراضي ، ستبحث السلاسل عن السلاسل المكونة من أربعة أحرف أو أطول. لتعيين حد أدنى أطول أو أقصر ، استخدم الخيار -n (الحد الأدنى للطول).

لاحظ أنه كلما كان الحد الأدنى للطول أقصر ، زادت احتمالية رؤية المزيد من الحطام.

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

لإخبار السلاسل باستخدام اثنين كحد أدنى للطول ، استخدم الأمر التالي.

سلاسل – ن 2 أذرع

كيفية استخدام أمر السلسلة على Linux 2

لدينا الآن سلاسل من حرفين مضمنة في النتائج. لاحظ أن المسافات تعتبر شخصية قابلة للطباعة.

كيفية استخدام أمر السلسلة على Linux 3

سلاسل الأنابيب من خلال أصغر

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

سلاسل jibber | أقل

كيفية استخدام أمر السلسلة على Linux 4

يتم تقديم القائمة إلينا الآن بأقل من ذلك ، مع عرض الجزء العلوي من القائمة أولاً.

كيفية استخدام أمر السلسلة على Linux 5

استخدام السلاسل مع ملفات الكائنات

عادةً ما يتم تجميع ملفات التعليمات البرمجية المصدر للبرنامج في ملفات الكائنات. هذه مرتبطة بملفات المكتبة لإنشاء ملف ثنائي قابل للتنفيذ. لدينا ملف كائن jibber في متناول اليد ، لذلك دعونا نلقي نظرة داخل هذا الملف. لاحظ امتداد الملف “.o”.

jibber.o | أقل

كيفية استخدام أمر السلسلة على Linux 6

يتم تغليف المجموعة الأولى من السلاسل في العمود الثامن إذا كانت أطول من ثمانية أحرف. إذا تم حذفها ، يوجد حرف “H” في العمود التاسع. قد تتعرف على هذه السلاسل على أنها عبارات SQL.

كيفية استخدام أمر السلسلة على Linux 7

يظهر التمرير خلال الإخراج أن هذا التنسيق لا يستخدم في جميع أنحاء الملف.

كيفية استخدام أمر السلسلة على Linux 8

من المثير للاهتمام رؤية الاختلافات في سلاسل النص بين ملف الكائن والملف القابل للتنفيذ النهائي.

ابحث في مناطق محددة من الملف

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

سلاسل -d jibber | أقل

كيفية استخدام أمر السلسلة على Linux 9

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

طباعة إزاحة السلسلة

يمكننا جعل السلاسل تطبع الإزاحة من بداية الملف حيث توجد كل سلسلة. للقيام بذلك ، استخدم الخيار -o (الإزاحة).

سلاسل -o parse_phrases | أقل

كيفية استخدام أمر السلسلة على Linux 10

يتم إعطاء الإزاحة في Octal.

كيفية استخدام أمر السلسلة على Linux 11

لعرض الإزاحة في قاعدة رقمية أخرى ، مثل النظام العشري أو الست عشري ، استخدم الخيار -t (الجذر). يجب أن يتبع خيار الجذر d (عشري-) أو x (سداسي عشري) أو o (ثماني). استخدام -to هو نفس استخدام -o.

سلاسل -حد parse_phrases | أقل

كيفية استخدام أمر السلسلة على Linux 12

تتم طباعة الإزاحة الآن بكسور عشرية.

كيفية استخدام أمر السلسلة على Linux 13

سلاسل -tx parse_phrases | أقل

كيفية استخدام أمر السلسلة على Linux 14

تتم الآن طباعة الإزاحة بالنظام الست عشري.

كيفية استخدام أمر السلسلة على Linux 15

بما في ذلك المسافة البيضاء

تعتبر السلاسل علامات التبويب والمسافات جزءًا من السلاسل التي تجدها. لا يتم التعامل مع أحرف المسافات البيضاء الأخرى ، مثل الأسطر الجديدة وأحرف الإرجاع ، كما لو كانت جزءًا من السلاسل. يتسبب الخيار -w (المسافة البيضاء) في معالجة السلاسل لجميع المسافات كما لو كانت جزءًا من السلسلة.

السلاسل -w add_data | أقل

كيفية استخدام أمر السلسلة على Linux 16

يمكننا أن نرى السطر الفارغ في المخرجات ، وهو نتيجة لعودة السطر (غير المرئي) وحرف السطر الجديد في نهاية السطر الثاني.

كيفية استخدام أمر السلسلة على Linux 17

نحن لا نقتصر على الملفات

يمكننا استخدام سلاسل مع أي شيء يمثل ، أو يمكن أن ينتج ، دفقًا من البايت.

باستخدام هذا الأمر ، يمكننا البحث في ذاكرة الوصول العشوائي (RAM) على جهاز الكمبيوتر الخاص بنا.

نحتاج إلى استخدام sudo لأننا نستخدم / dev / mem. هذا ملف جهاز شخصي يحتوي على صورة من الذاكرة الرئيسية لجهاز الكمبيوتر الخاص بك.

سلاسل sudo / dev / mem | أقل

كيفية استخدام أمر السلسلة على Linux 18

القائمة ليست المحتويات الكاملة لذاكرة RAM الخاصة بك. يمكن فقط استخراج الخيوط منه.

كيفية استخدام أمر السلسلة على Linux 19

يبحث في العديد من الملفات دفعة واحدة

يمكن استخدام أحرف البدل لتحديد مجموعات من الملفات للبحث فيها. الحرف * يمثل عدة أحرف و؟ يمثل الحرف حرفًا واحدًا. يمكنك أيضًا اختيار تحديد أسماء ملفات متعددة في سطر الأوامر.

سنستخدم حرف بدل ونبحث في جميع الملفات القابلة للتنفيذ في الدليل / bin. نظرًا لأن القائمة ستحتوي على نتائج من العديد من الملفات ، فسنستخدم الخيار -f (اسم الملف). سيؤدي هذا إلى طباعة اسم الملف في بداية كل سطر. يمكننا بعد ذلك معرفة الملف الذي تم العثور على كل سلسلة فيه.

نحن نراجع نتائج grep ، ونبحث عن السلاسل التي تحتوي على كلمة “Copyright”.

السلاسل -f / bin / * | انتزع حقوق الطبع والنشر

كيفية استخدام أمر السلسلة على Linux 20

نحصل على قائمة مرتبة ببيانات حقوق النشر لكل ملف في الدليل / bin ، مع اسم الملف في بداية كل سطر.

كيفية استخدام أمر السلسلة على Linux 21

تم حل الخيوط

لا يوجد سر في الأوتار. إنه أمر لينكس نموذجي. إنه يفعل شيئًا محددًا جدًا ويفعله جيدًا.

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