هل سبق لك أن حاولت فتح ملف في محرر فقط لتكتشف أنه يحتوي على محتوى ثنائي غير قابل للقراءة؟
يتيح الأمر "سلاسل" لينكس إمكانية عرض الأحرف التي يمكن قراءتها داخل أي ملف.
الغرض الرئيسي من استخدام أمر "السلاسل" هو تحديد نوع الملف الذي تبحث عنه ، ولكن يمكنك أيضًا استخدامه لاستخراج النص. على سبيل المثال ، إذا كان لديك ملف من برنامج خاص بحفظ الملفات بتنسيق ثنائي غريب ، يمكنك استخدام "strings" لاستخراج النص الذي قمت بوضعه في الملف.
مثال على استخدام الأوامر السلاسل
طريقة رائعة لإظهار قوة أمر السلاسل هي إنشاء مستند باستخدام LibreOffice Writer.
ببساطة افتح LibreOffice Writer وأدخل بعض النص ثم احفظه بتنسيق ODT القياسي.
الآن افتح نافذة طرفية (اضغط على CTRL و ALT و T في نفس الوقت) ثم استخدم أمر cat لعرض الملف كما يلي:
القط الخاص بك أكثر من
(استبدل yourfilename.odt باسم الملف الذي قمت بإنشائه)
ما سترونه هو جدار كامل من نص غير مقروء.
اضغط على مفتاح المسافة للتمرير خلال الملف. بشكل متقطع في جميع أنحاء الملف سترى بعض النص الذي قمت بإدخاله.
يمكن استخدام الأمر strings لعرض الأجزاء القابلة للقراءة من قبل الإنسان فقط.
في أبسط أشكاله يمكنك تشغيل الأمر التالي:
سلاسل yourfilename.odt | أكثر من
كما كان من قبل ، سيظهر جدار من النص ، ولكن فقط النص الذي يمكنك قراءته كإنسان. إذا كنت محظوظًا ، فستتمكن من رؤية النص الخاص بك.
ما ستتمكن من رؤيته هو المفتاح ، على كل حال ، في السطر الأول:
mimetypeapplication / vnd.oasis.opendocument.text
نحن نعلم أن نوع الملف هو ملف ODR LibreOffice Writer لسببين:
- أنشأنا الملف
- الامتداد هو. ODT
تخيل أنك لم تقم بإنشاء الملف أو عثرت على الملف على قرص تم استرداده ولم يكن الملف به امتداد.
استرداد Windows غالباً استرداد الملفات بأسماء مثل 0001 ، 0002 ، 0003 إلخ. حقيقة أن تم استرداد الملفات كبيرة ولكن محاولة معرفة ما أنواع تلك الملفات كانت كابوس.
باستخدام السلاسل لديك فرصة القتال من العمل على نوع الملف. إن معرفة أن الملف هو ملف opendocument.text يعني أنه يمكنك حفظه بامتداد ODT وفتحه في كاتب LibreOffice.
في حال لم تكن على دراية بملف ODT هو في الأساس ملف مضغوط. إذا قمت بإعادة تسمية yourfilename.odt إلى yourfilename.zip ، يمكنك فتحه في أداة أرشفة ، وحتى لفك ضغط الملف.
سلوكيات بديلة
بشكل افتراضي ، يقوم الأمر strings بإرجاع كافة السلاسل داخل ملف ولكن يمكنك تبديل السلوك بحيث يقوم بإرجاع سلاسل من أقسام البيانات المحملة ، التي تم تحميلها في ملف.
ماذا يعنى هذا بالظبط؟ لا أحد يعرف.
من المنطقي أن تفترض أنك تستخدم سلاسل لمحاولة إما العثور على نوع الملف أو للبحث عن نص معين في ملف.
في حالة تشغيل أمر السلاسل باستخدام السلوك الافتراضي ، لن تحصل على الإخراج الذي كنت تأمله ، ثم حاول تشغيل أحد الأوامر التالية لمعرفة ما إذا كان يحدث فرقًا:
توضح الصفحة اليدوية أن الأمر أعلاه قد يساعد على تقليل مقدار garbage التي يتم إرجاعها من السلاسل. يمكن إعداد الأمر "سلاسل" للعمل في الاتجاه العكسي بحيث يكون رمز التبديل ناقص d هو السلوك الافتراضي. إذا كانت هذه هي الحالة على نظامك ، فيمكنك إعادة جميع البيانات باستخدام الأمر التالي: يمكنك الحصول على النص داخل الإخراج لعرض اسم الملف بجانب كل سطر من النص. للقيام بذلك ، قم بتشغيل أحد الأوامر التالية: سيبدو الناتج الآن شيئًا كالتالي: كجزء من الإخراج ، يمكنك أيضًا عرض إزاحة المكان الذي يظهر فيه هذا النص في ملف. للقيام بذلك ، قم بتشغيل الأمر التالي: سيبدو الإخراج شيئًا كالتالي: إن الإزاحة هي في الواقع الإزاحة الثمانية على الرغم من اعتمادها على الكيفية التي تم بها تجميع السلاسل في النظام الخاص بك ، فيمكنها بسهولة أن تكون ست عشريًا أو الإزاحة العشرية أيضًا. هناك طريقة أكثر دقة للحصول على الإزاحة التي تريدها وهي استخدام الأوامر التالية: يعني t ناقص إرجاع الإزاحة ويحدد الحرف التالي نوع الإزاحة. (أي ، d = عشري ، o = octal ، h = hex). بشكل افتراضي ، يقوم الأمر strings بطباعة كل سلسلة جديدة في سطر جديد ولكن يمكنك تعيين المحدد الذي تختاره. على سبيل المثال ، لاستخدام رمز توجيه ("|") حيث يقوم المحدد بتشغيل الأمر التالي: يبحث أمر السلاسل بشكل افتراضي عن سلسلة من أربعة أحرف قابلة للطباعة في صف. يمكنك ضبط الإعداد الافتراضي بحيث لا يعرض سوى سلسلة تحتوي على 8 أحرف قابلة للطباعة أو 12 حرفًا قابلاً للطباعة. من خلال تعديل هذا الحد ، يمكنك تخصيص الإخراج للحصول على أفضل نتيجة ممكنة. من خلال البحث عن سلسلة طويلة جدًا ، فإنك تخاطر بحذف نص مفيد ، ولكن عن طريق جعله قصيرًا جدًا ، قد ينتهي بك الأمر إلى المزيد من الأشياء غير المرغوب فيها. لضبط حد السلسلة ، قم بتشغيل الأمر التالي: في المثال أعلاه ، قمت بتغيير الحد إلى 8.يمكنك استبدال 8 بالرقم الذي تختاره. يمكنك أيضًا استخدام الأمر التالي لفعل الشيء نفسه: بشكل افتراضي ، يتضمن الأمر strings whitespace مثل علامة تبويب أو مساحة كحرف قابل للطباعة. لذلك إذا كان لديك سلسلة تنص على ما يلي: "جلس القطة على حصيرة" ، فإن أمر السلاسل سيعيد النص بأكمله. لا تعتبر الأحرف الجديدة سطر و الإرجاع الأحرف القابلة للطباعة بشكل افتراضي. للحصول على سلاسل التعرف على أحرف سطر جديد وإرجاع أحرف كحرف قابلة للطباعة تشغيل السلاسل بالطريقة التالية: هناك 5 خيارات ترميز متاحة للاستخدام مع السلاسل: الافتراضي هو بايت 7 بت. لتغيير الترميز ، قم بتشغيل الأمر التالي: في الأمر أعلاه ، قمت بتحديد "s" الافتراضي الذي يعني 7 بايت. ببساطة استبدال "ق" مع حرف الترميز من اختيارك. يمكنك تغيير سلوك السلاسل بحيث يستخدم مكتبة واصف ملف ثنائي مختلف غير الذي يوفره النظام الخاص بك. هذا التبديل واحد للخبراء. إذا كان لديك مكتبة أخرى لاستخدامها ، فيمكنك القيام بذلك عن طريق تشغيل أمر السلاسل التالية: إذا كنت ستستخدم نفس الخيارات في كل مرة فإنك لا ترغب في تحديد كل المفاتيح في كل مرة تقوم فيها بتشغيل الأمر لأنه يستغرق وقتًا. ما يمكنك القيام به هو إنشاء ملف نصي باستخدام nano وتحديد الخيارات داخل هذا الملف. لتجربة هذا داخل محطة طرفية ، قم بتشغيل الأمر التالي: في الملف أدخل النص التالي: احفظ الملف بضغط CTRL و O ثم قم بالخروج بضغط CTRL و X. لتشغيل أوامر السلاسل باستخدام هذه الخيارات ، قم بتشغيل الأمر التالي: سيتم قراءة الخيارات من stringsopts الملف ويجب أن تشاهد اسم الملف قبل كل سلسلة ، الإزاحة و "|" كفاصل. إذا كنت ترغب في قراءة المزيد عن السلاسل ، يمكنك تشغيل الأمر التالي للحصول على المساعدة. بدلاً من ذلك ، يمكنك أيضًا قراءة الصفحة اليدوية: للعثور على إصدار السلاسل التي تشغلها ، قم بتشغيل أحد الأوامر التالية:سلاسل - د yourfilename
سلاسل --data yourfilenameسلاسل - a yourfilename
تنسيق الإخراج
سلاسل -f yourfilename
سلاسل - ملف - ملف - اسم yourfilenameyourfilename: جزء من النص
yourfilename: جزء آخر من النصسلاسل -o yourfilename
16573 الخاص بك
17024 نص
سلاسل - د د yourfilename
سلاسل -t يا yourfilenameسلاسل -t ح yourfilenameسلاسل -s "|" yourfilename
ضبط حد السلسلة
سلاسل - ن 8 yourfilename
سلاسل - بايت = 8 yourfilename
تضمين Whitespace
سلاسل - w yourfilename
تغيير الترميز
سلاسل -e s yourfilename
سلاسل --encoding = s yourfilename تغيير اسم وصف الملف الثنائي
سلاسل -T bfdname
خيارات القراءة من ملف
نانو stringsopts
-f -o -n 3 -s "|"
سلاسل @ stringsopts yourfilename
الحصول على مساعدة
سلاسل - مساعدة
رجل الاوتار
معرفة أي إصدار من سلاسل كنت تعمل
سلاسل - م
سلاسل - Vسلاسل - النسخ