كيفية إظهار أحرف ملف قابل للطباعة مع أوامر السلاسل

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

يتيح الأمر "سلاسل" لينكس إمكانية عرض الأحرف التي يمكن قراءتها داخل أي ملف.

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

مثال على استخدام الأوامر السلاسل

طريقة رائعة لإظهار قوة أمر السلاسل هي إنشاء مستند باستخدام LibreOffice Writer.

ببساطة افتح LibreOffice Writer وأدخل بعض النص ثم احفظه بتنسيق ODT القياسي .

الآن افتح نافذة طرفية (اضغط على CTRL و ALT و T في نفس الوقت) ثم استخدم أمر cat لعرض الملف كما يلي:

القط الخاص بك أكثر من

(استبدل yourfilename.odt باسم الملف الذي قمت بإنشائه)

ما سترونه هو جدار كامل من نص غير مقروء.

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

يمكن استخدام الأمر strings لعرض الأجزاء القابلة للقراءة من قبل الإنسان فقط.

في أبسط أشكاله يمكنك تشغيل الأمر التالي:

سلاسل yourfilename.odt | أكثر من

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

ما ستتمكن من رؤيته هو المفتاح ، على كل حال ، في السطر الأول:

mimetypeapplication / vnd.oasis.opendocument.text

نحن نعلم أن نوع الملف هو ملف ODR LibreOffice Writer لسببين:

  1. أنشأنا الملف
  2. الامتداد هو. ODT

تخيل أنك لم تقم بإنشاء الملف أو عثرت على الملف على قرص تم استرداده ولم يكن الملف به امتداد.

استرداد Windows غالباً استرداد الملفات بأسماء مثل 0001 ، 0002 ، 0003 إلخ. حقيقة أن تم استرداد الملفات كبيرة ولكن محاولة معرفة ما أنواع تلك الملفات كانت كابوس.

باستخدام السلاسل لديك فرصة القتال من العمل على نوع الملف. إن معرفة أن الملف هو ملف opendocument.text يعني أنه يمكنك حفظه بامتداد ODT وفتحه في كاتب LibreOffice.

في حال لم تكن على دراية بملف ODT هو في الأساس ملف مضغوط. إذا قمت بإعادة تسمية yourfilename.odt إلى yourfilename.zip ، يمكنك فتحه في أداة أرشفة ، وحتى لفك ضغط الملف.

سلوكيات بديلة

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

ماذا يعنى هذا بالظبط؟ لا أحد يعرف.

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

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

سلاسل - د yourfilename

سلاسل --data yourfilename

توضح الصفحة اليدوية أن الأمر أعلاه قد يساعد على تقليل مقدار garbage التي يتم إرجاعها من السلاسل.

يمكن إعداد الأمر "سلاسل" للعمل في الاتجاه العكسي بحيث يكون رمز التبديل ناقص d هو السلوك الافتراضي. إذا كانت هذه هي الحالة على نظامك ، فيمكنك إعادة جميع البيانات باستخدام الأمر التالي:

سلاسل - a yourfilename

تنسيق الإخراج

يمكنك الحصول على النص داخل الإخراج لعرض اسم الملف بجانب كل سطر من النص.

للقيام بذلك ، قم بتشغيل أحد الأوامر التالية:

سلاسل -f yourfilename

سلاسل - ملف - ملف - اسم yourfilename

سيبدو الناتج الآن شيئًا كالتالي:

yourfilename: جزء من النص

yourfilename: جزء آخر من النص

كجزء من الإخراج ، يمكنك أيضًا عرض إزاحة المكان الذي يظهر فيه هذا النص في ملف. للقيام بذلك ، قم بتشغيل الأمر التالي:

سلاسل -o yourfilename

سيبدو الإخراج شيئًا كالتالي:

16573 الخاص بك

17024 نص

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

هناك طريقة أكثر دقة للحصول على الإزاحة التي تريدها وهي استخدام الأوامر التالية:

سلاسل - yourfilename

سلاسل - إلى yourfilename

سلاسل - yourfilename

يعني t ناقص إرجاع الإزاحة ويحدد الحرف التالي نوع الإزاحة. (أي d = عشري ، o = octal ، h = hex).

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

سلاسل -s "|" yourfilename

ضبط حد السلسلة

يبحث أمر السلاسل بشكل افتراضي عن سلسلة من أربعة أحرف قابلة للطباعة في صف. يمكنك ضبط الإعداد الافتراضي بحيث لا يعرض سوى سلسلة تحتوي على 8 أحرف قابلة للطباعة أو 12 حرفًا قابلاً للطباعة.

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

لضبط حد السلسلة ، قم بتشغيل الأمر التالي:

سلاسل - ن 8 yourfilename

في المثال أعلاه ، قمت بتغيير الحد إلى 8.

يمكنك استبدال 8 بالرقم الذي تختاره.

يمكنك أيضًا استخدام الأمر التالي لفعل الشيء نفسه:

سلاسل - بايت = 8 yourfilename

تضمين Whitespace

بشكل افتراضي ، يتضمن الأمر strings whitespace مثل علامة تبويب أو مساحة كحرف قابل للطباعة. لذلك إذا كان لديك سلسلة تنص على ما يلي: "جلس القطة على حصيرة" ، فإن أمر السلاسل سيعيد النص بأكمله.

لا تعتبر الأحرف الجديدة سطر و الإرجاع الأحرف القابلة للطباعة بشكل افتراضي.

للحصول على سلاسل التعرف على أحرف سطر جديد وإرجاع أحرف كحرف قابلة للطباعة تشغيل السلاسل بالطريقة التالية:

سلاسل - w yourfilename

تغيير الترميز

هناك 5 خيارات ترميز متاحة للاستخدام مع السلاسل:

الافتراضي هو بايت 7 بت.

لتغيير الترميز ، قم بتشغيل الأمر التالي:

سلاسل-اسم yourfilename

سلاسل --encoding = s yourfilename

في الأمر أعلاه ، قمت بتحديد "s" الافتراضي الذي يعني 7 بايت. ببساطة استبدال "ق" مع حرف الترميز من اختيارك.

تغيير اسم وصف الملف الثنائي

يمكنك تغيير سلوك السلاسل بحيث يستخدم مكتبة واصف ملف ثنائي مختلف غير الذي يوفره النظام الخاص بك.

هذا التبديل واحد للخبراء. إذا كان لديك مكتبة أخرى لاستخدامها ، فيمكنك القيام بذلك عن طريق تشغيل أمر السلاسل التالية:

سلاسل -T bfdname

خيارات القراءة من ملف

إذا كنت ستستخدم نفس الخيارات في كل مرة فإنك لا ترغب في تحديد كل المفاتيح في كل مرة تقوم فيها بتشغيل الأمر لأنه يستغرق وقتًا.

ما يمكنك القيام به هو إنشاء ملف نصي باستخدام nano وتحديد الخيارات داخل هذا الملف.

لتجربة هذا داخل محطة طرفية ، قم بتشغيل الأمر التالي:

نانو stringsopts

في الملف أدخل النص التالي:

-f -o -n 3 -s "|"

احفظ الملف بضغط CTRL و O ثم قم بالخروج بضغط CTRL و X.

لتشغيل أوامر السلاسل باستخدام هذه الخيارات ، قم بتشغيل الأمر التالي:

سلاسل @ stringsopts yourfilename

سيتم قراءة الخيارات من stringsopts الملف ويجب أن تشاهد اسم الملف قبل كل سلسلة ، الإزاحة و "|" كفاصل.

الحصول على مساعدة

إذا كنت ترغب في قراءة المزيد عن السلاسل ، يمكنك تشغيل الأمر التالي للحصول على المساعدة.

سلاسل - مساعدة

بدلاً من ذلك ، يمكنك أيضًا قراءة الصفحة اليدوية:

رجل الاوتار

معرفة أي إصدار من سلاسل كنت تعمل

للعثور على إصدار السلاسل التي تشغلها ، قم بتشغيل أحد الأوامر التالية:

سلاسل - م

سلاسل - V

سلاسل - النسخ