STRINGS(1) GNU Development Tools STRINGS(1)

nds32le-elf-strings - استخراج و نمایش رشته‌های متنی قابل چاپ از باینری‌های Andes NDS32

strings [-afovV] [-min-len]
[-n min-len] [--bytes=min-len]
[-t radix] [--radix=radix]
[-e encoding] [--encoding=encoding]
[-U method] [--unicode=method]
[-] [--all] [--print-file-name]
[-T bfdname] [--target=bfdname]
[-w] [--include-all-whitespace]
[-s] [--output-separator sep_string]
[--help] [--version] file...

به ازای هر file مشخص‌شده، ابزار GNU strings توالی‌هایی از نویسه‌های قابل چاپ را که طول آن‌ها حداقل ۴ نویسه باشد (یا به تعداد تعیین‌شده توسط گزینه‌های زیر) و پس از آن‌ها یک نویسه غیرقابل چاپ قرار گرفته است، چاپ می‌کند.

بسته به نحوه پیکربندی برنامه strings، رفتار پیش‌فرض آن نمایش تمام توالی‌های قابل چاپ موجود در فایل یا فقط نمایش توالی‌های موجود در بخش‌های داده‌ای بارگذاری‌شونده و مقداردهی‌شده است. اگر نوع فایل قابل تشخیص نباشد یا برنامه از ورودی استاندارد (stdin) بخواند، همیشه تمامی توالی‌های قابل چاپ یافت‌شده نمایش داده می‌شوند.

جهت حفظ سازگاری با نسخه‌های پیشین، هر فایلی که پس از گزینه خط فرمان - قرار گیرد، صرف‌نظر از وجود گزینه -d، به صورت کامل پویش خواهد شد.

کاربرد اصلی strings تشخیص و بررسی محتوای فایل‌های غیرمتنی و باینری است.

-
پویش کامل فایل، بدون در نظر گرفتن بخش‌های موجود در آن یا بارگذاری و مقداردهی اولیه بخش‌ها. معمولاً این رفتار پیش‌فرض است، اما strings می‌تواند طوری پیکربندی شود که گزینه -d پیش‌فرض باشد.

گزینه - به ترتیب و موقعیت در خط فرمان وابسته است و برنامه را وادار می‌کند فایل‌هایی را که پس از - در خط فرمان آورده شده‌اند، حتی در صورت مشخص شدن گزینه -d، به صورت کامل پویش کند.

فقط چاپ رشته‌ها از بخش‌های داده‌ای مقداردهی‌شده و بارگذاری‌شونده در فایل. این گزینه ممکن است مقدار داده‌های زائد در خروجی را کاهش دهد، اما برنامه را در معرض آسیب‌پذیری‌های امنیتی احتمالی موجود در کتابخانه BFD (که برای پویش و بارگذاری بخش‌ها به کار می‌رود) قرار می‌دهد. می‌توان strings را طوری پیکربندی کرد که این گزینه رفتار پیش‌فرض باشد. در چنین شرایطی با استفاده از گزینه -a می‌توان از به‌کارگیری کتابخانه BFD اجتناب کرده و به جای آن تمام رشته‌های درون فایل را چاپ نمود.
چاپ نام فایل پیش از هر رشته.
نمایش خلاصه نحوه استفاده از برنامه در خروجی استاندارد و خروج.
چاپ توالی‌هایی از نویسه‌های قابل نمایش با حداقل طول min-len نویسه. در صورت عدم تعیین، طول پیش‌فرض ۴ در نظر گرفته می‌شود. تفاوت میان نویسه‌های قابل نمایش و غیرقابل نمایش به تنظیمات گزینه‌های -e و -U بستگی دارد. توالی‌ها همیشه با رسیدن به نویسه‌های کنترلی مانند خط جدید (newline) یا بازگشت به ابتدای سطر (carriage return) خاتمه می‌یابند، اما نویسه تب (tab) شامل این مورد نمی‌شود.
مشابه -t o. برخی نسخه‌های دیگر strings عملکرد -o را مشابه -t d در نظر می‌گیرند. از آنجا که امکان سازگاری هم‌زمان با هر دو شیوه وجود ندارد، این مورد انتخاب شده است.
چاپ آفست (موقعیت مکانی) درون فایل پیش از هر رشته. آرگومان تک‌نویسه‌ای مبنای عددی آفست را تعیین می‌کند: o برای هشت‌هشتی (octal)، x برای شانزده‌شانزدهی (hexadecimal) و d برای ده‌دهی (decimal).
انتخاب کدگذاری نویسه‌ها برای رشته‌های مورد جستجو. مقادیر مجاز برای encoding عبارتند از: s = نویسه‌های تک‌بایتی ۷ بیتی (پیش‌فرض)، S = نویسه‌های تک‌بایتی ۸ بیتی، b = ۱۶ بیتی big-endian، l = ۱۶ بیتی little-endian، B = ۳۲ بیتی big-endian، L = ۳۲ بیتی little-endian. این گزینه برای یافتن رشته‌های نویسه عریض (wide character) کاربرد دارد (l و b برای مثال در کدگذاری‌های یونیکد UTF-16/UCS-2 به کار می‌روند).
کنترل نحوه نمایش نویسه‌های چندبایتی با کدگذاری UTF-8 در رشته‌ها. مقدار پیش‌فرض (--unicode=default) رفتار ویژه‌ای برای آن‌ها اعمال نمی‌کند و به تنظیمات گزینه --encoding متکی است. سایر مقادیر این گزینه به صورت خودکار --encoding=S را فعال می‌سازند.

گزینه --unicode=invalid با آن‌ها به عنوان نویسه‌های غیرگرافیکی رفتار کرده و در نتیجه آن‌ها را بخشی از یک رشته معتبر به حساب نمی‌آورد. تمام گزینه‌های دیگر آن‌ها را به عنوان نویسه‌های رشته‌ای معتبر در نظر می‌گیرند.

گزینه --unicode=locale آن‌ها را در لوکال (locale) جاری نمایش می‌دهد که ممکن است از کدگذاری UTF-8 پشتیبانی کند یا نکند. گزینه --unicode=hex آن‌ها را به صورت توالی‌های بایتی هگزادسیمال درون نویسه‌های <> نمایش می‌دهد. گزینه --unicode=escape آن‌ها را به شکل توالی‌های اسکیپ (\uxxxx) و گزینه --unicode=highlight آن‌ها را به صورت توالی‌های اسکیپ با رنگ قرمز برجسته نمایش می‌دهد (در صورت پشتیبانی دستگاه خروجی). رنگ‌بندی به منظور جلب توجه به وجود توالی‌های یونیکد در جاهایی است که انتظار حضور آن‌ها نمی‌رود.

مشخص کردن قالب کد شیء (object code) غیر از قالب پیش‌فرض سیستم.
نمایش شماره نسخه برنامه در خروجی استاندارد و خروج.
به طور پیش‌فرض نویسه‌های تب (tab) و فاصله (space) در رشته‌های نمایشی گنجانده می‌شوند، اما سایر نویسه‌های فاصله‌ساز مانند خطوط جدید (newlines) و بازگشت به سطر (carriage returns) لحاظ نمی‌شوند. گزینه -w این رفتار را تغییر می‌دهد تا تمام نویسه‌های فاصله‌ساز بخشی از رشته محسوب شوند.
به طور پیش‌فرض، رشته‌های خروجی با خط جدید (newline) از یکدیگر جدا می‌شوند. این گزینه امکان تعیین هر رشته دلخواه را به عنوان جداکننده رکورد خروجی فراهم می‌سازد. هنگام استفاده از --include-all-whitespace که رشته‌ها ممکن است در درون خود خطوط جدید داشته باشند، کاربردی است.
@file
خواندن گزینه‌های خط فرمان از file. گزینه‌های خوانده‌شده جایگزین گزینه @file اصلی می‌شوند. اگر file وجود نداشته باشد یا قابل خواندن نباشد، با گزینه به صورت تحت‌اللفظی رفتار شده و حذف نمی‌شود.

گزینه‌ها در file با نویسه‌های فاصله از یکدیگر جدا می‌شوند. می‌توان یک نویسه فاصله را با قرار دادن کل گزینه درون گیومه تکی یا دوتایی در آن گنجاند. هر نویسه‌ای (از جمله بک‌اسلش) را می‌توان با افزودن پیشوند بک‌اسلش به نویسه مربوطه وارد کرد. file ممکن است خود حاوی گزینه‌های @file بیشتری باشد؛ چنین گزینه‌هایی به صورت بازگشتی پردازش خواهند شد.

ar(1), nm(1), objdump(1), ranlib(1), readelf(1) و مدخل‌های Info برای binutils.

Copyright (c) 1991-2025 Free Software Foundation, Inc.

مجوز کپی، توزیع و/یا تغییر این سند تحت شرایط «مجوز مستندات آزاد گنو» (GNU Free Documentation License)، نسخه ۱.۳ یا هر نسخه بعدی منتشرشده توسط بنیاد نرم‌افزار آزاد اعطا می‌شود؛ بدون بخش‌های تغییرناپذیر، بدون متون روی جلد و بدون متون پشت جلد. یک نسخه از این مجوز در بخشی با عنوان «GNU Free Documentation License» گنجانده شده است.

2026-01-23 binutils-2.45.1