STRINGS(1) GNU Development Tools STRINGS(1)

strings - چاپ دنباله‌های نویسه‌های قابل‌چاپ در فایل‌ها

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، این ابزار به‌طور پیش‌فرض یا تمام دنباله‌های قابل‌چاپ موجود در هر فایل را نمایش می‌دهد، یا تنها دنباله‌هایی را نشان می‌دهد که در بخش‌های داده‌ای بارگذاری‌شدنی و مقداردهی‌اولیه شده (initialized) قرار دارند. اگر نوع فایل غیرقابل تشخیص باشد، یا اگر strings در حال خواندن از stdin باشد، همواره تمام دنباله‌های قابل‌چاپی را که بیابد نمایش خواهد داد.

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

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

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

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

تنها رشته‌های موجود در بخش‌های داده‌ایِ مقداردهی‌اولیه شده و بارگذاری‌شده در فایل را چاپ می‌کند. این کار ممکن است حجم داده‌های بیهوده (garbage) را در خروجی کاهش دهد، اما برنامهٔ strings را در معرض آسیب‌پذیری‌های امنیتی احتمالی موجود در کتابخانهٔ 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 = ۱۶-بیتی 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.

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

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

2026-01-23 binutils-2.45.1