STRINGS(1) GNU Development Tools STRINGS(1)

lm32-elf-strings - چاپ رشته‌های کاراکتری قابل چاپ از فایل‌های شیء LatticeMico32

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...

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

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

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

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

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

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

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

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

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

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

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

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

حق نشر © ۱۹۹۱-۲۰۲۵ بنیاد نرم‌افزارهای آزاد (Free Software Foundation, Inc.)

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

2026-01-23 binutils-2.45.1