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

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

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

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

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

تنها چاپ رشته‌ها از بخش‌های داده‌ایِ مقداردهی اولیه‌شده و بارگذاری‌شده در فایل. این گزینه ممکن است مقدار داده‌های نامربوط و زائد در خروجی را کاهش دهد، اما برنامهٔ strings را در معرض هرگونه نقص امنیتی احتمالی موجود در کتابخانهٔ BFD (که برای پویش و بارگذاری بخش‌ها استفاده می‌شود) قرار می‌دهد. ممکن است strings طوری پیکربندی شده باشد که این گزینه رفتار پیش‌فرض آن باشد. در این شرایط، می‌توان از گزینهٔ -a استفاده کرد تا بدون به‌کارگیری کتابخانهٔ BFD، صرفاً تمام رشته‌های موجود در فایل چاپ شوند.
چاپ نام فایل پیش از هر رشته.
چاپ خلاصه‌ای از راهنمای استفاده از برنامه در خروجی استاندارد و خروج.
چاپ دنباله‌های نویسه‌های قابل نمایش که حداقل min-len نویسه طول دارند. در صورت تعیین نشدن، حداقل طول پیش‌فرض برابر با ۴ در نظر گرفته می‌شود. تمایز میان نویسه‌های قابل نمایش و غیرقابل نمایش به تنظیمات گزینه‌های -e و -U بستگی دارد. این دنباله‌ها همیشه با نویسه‌های کنترلی مانند new-line و 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 آن‌ها را با لوکال (locale) فعلی نمایش می‌دهد که ممکن است از کدگذاری UTF-8 پشتیبانی بکند یا نکند. گزینهٔ --unicode=hex آن‌ها را به‌صورت دنباله‌ای از بایت‌های هگزادسیمال درون نویسه‌های <> نمایش می‌دهد. گزینهٔ --unicode=escape آن‌ها را به‌صورت دنباله‌های گریز (\uxxxx) نشان می‌دهد و گزینهٔ --unicode=highlight آن‌ها را به‌صورت دنباله‌های گریزِ متمایز با رنگ قرمز (در صورت پشتیبانی دستگاه خروجی) نمایش می‌دهد. این رنگ‌آمیزی برای جلب توجه به حضور دنباله‌های یونی‌کد در مکان‌هایی است که انتظار دیدنشان نمی‌رود.

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

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

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

حق نشر (c) 1991-2025 متعلق به Free Software Foundation, Inc است.

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

2026-01-23 binutils-2.45.1