| STRINGS(1) | GNU Development Tools | STRINGS(1) |
نام (NAME)
strings - چاپ رشتههای نویسههای قابلچاپ در فایلها
خلاصه دستور (SYNOPSIS)
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...
توضیحات (DESCRIPTION)
برای هر file مشخصشده، ابزار GNU strings توالی نویسههای قابلچاپی را که طول آنها حداقل ۴ نویسه باشد (یا به تعداد تعیینشده با گزینههای زیر) و پس از آنها یک نویسه غیرقابلچاپ بیاید، چاپ میکند.
بسته به نحوه پیکربندی برنامه strings، این ابزار به طور پیشفرض یا تمام توالیهای قابلچاپ موجود در هر فایل را نمایش میدهد، یا فقط توالیهایی را که در بخشهای دادهای بارگذاریشونده و مقداردهیشده قرار دارند. اگر نوع فایل غیرقابلتشخیص باشد، یا اگر strings در حال خواندن از stdin باشد، همواره تمام توالیهای قابلچاپی را که مییابد نمایش خواهد داد.
برای سازگاری با گذشته، هر فایلی که بعد از گزینه خط فرمان که صرفاً - باشد بیاید نیز صرفنظر از وجود هرگونه گزینه -d به طور کامل پویش میشود.
ابزار strings عمدتاً برای تعیین محتوای فایلهای غیرمتنی مفید است.
گزینهها (OPTIONS)
- -a
- --all
- -
- پویش کامل
فایل،
صرفنظر از
بخشهایی
که شامل
میشود یا
اینکه آیا
آن بخشها
بارگذاری
یا
مقداردهی
اولیه
شدهاند یا
خیر. به طور
معمول این
رفتار
پیشفرض
است، اما strings
میتواند
طوری
پیکربندی
شود که به
جای آن
گزینه -d
پیشفرض
باشد.
گزینه - وابسته به موقعیت است و strings را وادار میکند تا هر فایلی را که پس از - در خط فرمان ذکر شده است به طور کامل پویش کند، حتی اگر گزینه -d مشخص شده باشد.
- -d
- --data
- تنها چاپ رشتهها از بخشهای دادهای مقداردهیشده و بارگذاریشده در فایل. این کار ممکن است حجم دادههای زائد را در خروجی کاهش دهد، اما برنامه strings را نیز در معرض نقصهای امنیتی احتمالی موجود در کتابخانه BFD (که برای پویش و بارگذاری بخشها استفاده میشود) قرار میدهد. Strings میتواند طوری پیکربندی شود که این گزینه رفتار پیشفرض باشد. در چنین مواردی میتوان از گزینه -a استفاده کرد تا از به کارگیری کتابخانه BFD پرهیز شود و در عوض فقط تمام رشتههای یافتشده در فایل چاپ شوند.
- -f
- --print-file-name
- چاپ نام فایل پیش از هر رشته.
- --help
- چاپ خلاصهای از راهنمای استفاده از برنامه در خروجی استاندارد و خروج.
- -min-len
- -n min-len
- --bytes=min-len
- چاپ توالیهایی از نویسههای قابلنمایش که طول آنها حداقل به اندازه min-len نویسه باشد. در صورت مشخص نشدن، حداقل طول پیشفرض ۴ استفاده میشود. تمایز بین نویسههای قابلنمایش و غیرقابلنمایش به تنظیمات گزینههای -e و -U بستگی دارد. توالیها همواره در نویسههای کنترلی مانند خطجدید (newline) و بازگشت مکاننما (carriage-return)، بهجز نویسه تب (tab)، پایان مییابند.
- -o
- مانند -t o. در برخی دیگر از نسخههای strings گزینه -o مانند -t d عمل میکند. از آنجا که نمیتوان با هر دو روش سازگار بود، ما به سادگی یکی را انتخاب کردیم.
- -t radix
- --radix=radix
- چاپ آفست درون فایل پیش از هر رشته. آرگومان تکنویسهای مبنای (radix) آفست را مشخص میکند: o برای هشتهشتی (octal)، x برای شانزدهشانزدهی (hexadecimal)، یا d برای دهدهی (decimal).
- -e encoding
- --encoding=encoding
- انتخاب کدگذاری نویسههای رشتههایی که قرار است پیدا شوند. مقادیر ممکن برای encoding عبارتند از: s = نویسههای تکبایتی ۷-بیتی (پیشفرض)، S = نویسههای تکبایتی ۸-بیتی، b = مقدار ۱۶-بیتی bigendian، l = مقدار ۱۶-بیتی littleendian، B = مقدار ۳۲-بیتی bigendian، و L = مقدار ۳۲-بیتی littleendian. این گزینه برای یافتن رشتههای نویسه عریض (wide character) مفید است (l و b برای مثال در کدگذاریهای یونیکد UTF-16/UCS-2 کاربرد دارند).
- -U [d|i|l|e|x|h]
- --unicode=[default|invalid|locale|escape|hex|highlight]
- کنترل نحوه
نمایش
نویسههای
چندبایتی
کدگذاریشده
با UTF-8 در
رشتهها.
حالت
پیشفرض
(--unicode=default) رفتار
ویژهای با
آنها
ندارد و در
عوض به
تنظیمات
گزینه --encoding
متکی است.
سایر
مقادیر این
گزینه به
طور خودکار
--encoding=S را فعال
میکنند.
گزینه --unicode=invalid با آنها به عنوان نویسههای غیرگرافیکی رفتار کرده و در نتیجه آنها را بخشی از یک رشته معتبر در نظر نمیگیرد. تمام گزینههای باقیمانده با آنها به عنوان نویسههای رشتهای معتبر رفتار میکنند.
گزینه --unicode=locale آنها را بر اساس محلیسازی (locale) جاری نمایش میدهد، که ممکن است از کدگذاری UTF-8 پشتیبانی بکند یا نکند. گزینه --unicode=hex آنها را به صورت توالی بایتهای هگز محصور میان نویسههای <> نمایش میدهد. گزینه --unicode=escape آنها را به عنوان توالیهای گریز (\uxxxx) نمایش میدهد و گزینه --unicode=highlight آنها را به عنوان توالیهای گریز برجسته با رنگ قرمز نمایش میدهد (در صورت پشتیبانی دستگاه خروجی). رنگآمیزی برای جلب توجه به حضور توالیهای یونیکد در جاهایی در نظر گرفته شده که ممکن است مورد انتظار نباشد.
- -T bfdname
- --target=bfdname
- مشخص کردن یک قالب کُد شیء (object code) به غیر از قالب پیشفرض سیستم شما.
- -v
- -V
- --version
- چاپ شماره نسخه برنامه در خروجی استاندارد و خروج.
- -w
- --include-all-whitespace
- به طور پیشفرض نویسههای تب و فاصله در رشتههایی که نمایش داده میشوند گنجانده میشوند، اما سایر نویسههای فضای خالی، مانند خطجدیدها و بازگشت مکاننماها، گنجانده نمیشوند. گزینه -w این رفتار را تغییر میدهد تا تمام نویسههای فضای خالی به عنوان بخشی از یک رشته در نظر گرفته شوند.
- -s
- --output-separator
- به طور پیشفرض، رشتههای خروجی با یک خطجدید جدا میشوند. این گزینه به شما امکان میدهد هر رشتهای را که میخواهید به عنوان جداکننده رکورد خروجی مشخص کنید. برای استفاده با --include-all-whitespace در جایی که رشتهها ممکن است در درون خود حاوی خطجدید باشند مفید است.
- @file
- خواندن
گزینههای
خط فرمان از
file.
گزینههای
خواندهشده
به جای
گزینه اصلی
@file قرار
میگیرند.
اگر file وجود
نداشته
باشد یا
قابلخواندن
نباشد، با
گزینه به
صورت لفظی
رفتار شده و
حذف
نمیشود.
گزینهها در file با فاصله سفید جدا میشوند. با احاطه کردن کل گزینه در گیومه تکی یا دوگانه میتوان یک نویسه فاصله سفید را در یک گزینه گنجاند. هر نویسهای (از جمله بکاسلش) را میتوان با افزودن یک بکاسلش به عنوان پیشوند به آن گنجاند. خودِ file میتواند شامل گزینههای @file بیشتری باشد؛ هرگونه گزینه از این دست به طور بازگشتی پردازش خواهد شد.
همچنین ببینید (SEE ALSO)
ar(1), nm(1), objdump(1), ranlib(1), readelf(1) و مدخلهای Info برای binutils.
کپیرایت و تکثیر (COPYRIGHT)
Copyright (c) 1991-2026 Free Software Foundation, Inc.
اجازه کپی، توزیع و/یا تغییر این سند تحت شرایط مجوز مستندات آزاد گنو (GNU Free Documentation License)، نسخه ۱.۳ یا هر نسخه بعدی منتشر شده توسط بنیاد نرمافزارهای آزاد داده میشود؛ بدون بخشهای تغییرناپذیر، بدون متنهای روی جلد و بدون متنهای پشت جلد. نسخهای از مجوز در بخش تحت عنوان «GNU Free Documentation License» گنجانده شده است.
| 2026-08-26 | binutils-2.47 |