.\" -*- mode: troff; coding: utf-8 -*- .\" Automatically generated by Pod::Man v6.0.2 (Pod::Simple 3.45) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>. .ie n \{\ . ds C` "" . ds C' "" 'br\} .el\{\ . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" .\" Required to disable full justification in groff 1.23.0. .if n .ds AD l .\" ======================================================================== .\" .IX Title "STRINGS 1" .TH STRINGS 1 2026-01-23 binutils-2.45.1 "GNU Development Tools" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "نام (NAME)" strings \- چاپ دنباله‌های نویسه‌های قابل چاپ در فایل‌ها .SH "خلاصه دستور (SYNOPSIS)" .IX Header "SYNOPSIS" strings [\fB\-afovV\fR] [\fB\-\fR\fImin\-len\fR] [\fB\-n\fR \fImin\-len\fR] [\fB\-\-bytes=\fR\fImin\-len\fR] [\fB\-t\fR \fIradix\fR] [\fB\-\-radix=\fR\fIradix\fR] [\fB\-e\fR \fIencoding\fR] [\fB\-\-encoding=\fR\fIencoding\fR] [\fB\-U\fR \fImethod\fR] [\fB\-\-unicode=\fR\fImethod\fR] [\fB\-\fR] [\fB\-\-all\fR] [\fB\-\-print\-file\-name\fR] [\fB\-T\fR \fIbfdname\fR] [\fB\-\-target=\fR\fIbfdname\fR] [\fB\-w\fR] [\fB\-\-include\-all\-whitespace\fR] [\fB\-s\fR] [\fB\-\-output\-separator\fR \fIsep_string\fR] [\fB\-\-help\fR] [\fB\-\-version\fR] \fIfile\fR... .SH "توضیحات (DESCRIPTION)" .IX Header "DESCRIPTION" برای هر \fIfile\fR مشخص‌شده، دستور GNU \fBstrings\fR دنباله‌های نویسه‌های قابل چاپی را که طول آن‌ها حداقل ۴ نویسه باشد (یا به تعداد مشخص‌شده با گزینه‌های زیر) و پس از آن‌ها یک نویسه غیرقابل چاپ آمده باشد، چاپ می‌کند. .PP بسته به نحوه پیکربندی برنامه strings، به طور پیش‌فرض یا تمام دنباله‌های قابل چاپ یافت‌شده در هر فایل، یا فقط دنباله‌هایی که در بخش‌های داده‌ای بارگذاری‌شونده و مقداردهی اولیه شده (loadable, initialized) قرار دارند نمایش داده می‌شوند. اگر نوع فایل غیرقابل تشخیص باشد، یا اگر strings در حال خواندن از stdin باشد، همواره تمام دنباله‌های قابل چاپ یافت‌شده را نمایش می‌دهد. .PP برای سازگاری با نسخه‌های پیشین، هر فایلی که پس از گزینه خط فرمان تنها \fB\-\fR بیاید نیز بدون توجه به وجود گزینه \fB\-d\fR به طور کامل پویش خواهد شد. .PP برنامه \&\fBstrings\fR عمدتاً برای تعیین محتوای فایل‌های غیرمتنی کاربرد دارد. .SH "گزینه‌ها (OPTIONS)" .IX Header "OPTIONS" .IP \fB\-a\fR 4 .IX Item "-a" .PD 0 .IP \fB\-\-all\fR 4 .IX Item "--all" .IP \fB\-\fR 4 .IX Item "-" .PD کل فایل را بدون در نظر گرفتن بخش‌های موجود در آن و اینکه آیا آن بخش‌ها بارگذاری یا مقداردهی اولیه شده‌اند یا خیر، پویش می‌کند. به طور معمول این رفتار پیش‌فرض است، اما ممکن است strings به گونه‌ای پیکربندی شده باشد که گزینه \&\fB\-d\fR به عنوان پیش‌فرض در نظر گرفته شود. .Sp گزینه \fB\-\fR وابسته به موقعیت است و strings را وادار می‌کند تا هر فایلی را که در خط فرمان پس از \fB\-\fR ذکر شده است به طور کامل پویش کند، حتی اگر گزینه \fB\-d\fR مشخص شده باشد. .IP \fB\-d\fR 4 .IX Item "-d" .PD 0 .IP \fB\-\-data\fR 4 .IX Item "--data" .PD فقط رشته‌های موجود در بخش‌های داده‌ای مقداردهی اولیه شده و بارگذاری‌شده در فایل را چاپ می‌کند. این کار ممکن است حجم داده‌های نامفهوم و زائد در خروجی را کاهش دهد، اما برنامه strings را در معرض آسیب‌پذیری‌های امنیتی احتمالی در کتابخانه BFD (که برای پویش و بارگذاری بخش‌ها استفاده می‌شود) قرار می‌دهد. می‌توان strings را طوری پیکربندی کرد که این گزینه رفتار پیش‌فرض آن باشد. در چنین مواردی، می‌توان از گزینه \fB\-a\fR استفاده کرد تا از به کارگیری کتابخانه BFD اجتناب شده و به جای آن تمام رشته‌های یافت‌شده در فایل چاپ شوند. .IP \fB\-f\fR 4 .IX Item "-f" .PD 0 .IP \fB\-\-print\-file\-name\fR 4 .IX Item "--print-file-name" .PD نام فایل را پیش از هر رشته چاپ می‌کند. .IP \fB\-\-help\fR 4 .IX Item "--help" خلاصه‌ای از نحوه استفاده از برنامه را در خروجی استاندارد چاپ کرده و خارج می‌شود. .IP \fB\-\fR\fImin\-len\fR 4 .IX Item "-min-len" .PD 0 .IP "\fB\-n\fR \fImin\-len\fR" 4 .IX Item "-n min-len" .IP \fB\-\-bytes=\fR\fImin\-len\fR 4 .IX Item "--bytes=min-len" .PD دنباله‌هایی از نویسه‌های قابل نمایش را چاپ می‌کند که طول آن‌ها حداقل به اندازه \fImin\-len\fR نویسه باشد. در صورت تعیین نشدن، حداقل طول پیش‌فرض ۴ در نظر گرفته می‌شود. تمایز بین نویسه‌های قابل نمایش و غیرقابل نمایش به تنظیمات گزینه‌های \&\fB\-e\fR و \fB\-U\fR بستگی دارد. دنباله‌ها همواره در نویسه‌های کنترلی مانند خط جدید (new-line) و بازگشت به ابتدای سطر (carriage-return) پایان می‌یابند، اما نویسه تب (tab) شامل این قاعده نمی‌شود. .IP \fB\-o\fR 4 .IX Item "-o" مشابه \fB\-t o\fR عمل می‌کند. در برخی دیگر از نسخه‌های \fBstrings\fR، گزینه \fB\-o\fR رفتاری مانند \fB\-t d\fR دارد. از آنجا که نمی‌توان با هر دو روش سازگار بود، یکی از آن‌ها انتخاب شده است. .IP "\fB\-t\fR \fIradix\fR" 4 .IX Item "-t radix" .PD 0 .IP \fB\-\-radix=\fR\fIradix\fR 4 .IX Item "--radix=radix" .PD آفست (موقعیت بر حسب بایت) درون فایل را پیش از هر رشته چاپ می‌کند. این آرگومان تک‌نویسه‌ای مبنای عددی آفست را تعیین می‌کند: \fBo\fR برای هشت‌هشتی (octal)، \fBx\fR برای شانزده‌شانزدهی (hexadecimal)، یا \fBd\fR برای ده‌دهی (decimal). .IP "\fB\-e\fR \fIencoding\fR" 4 .IX Item "-e encoding" .PD 0 .IP \fB\-\-encoding=\fR\fIencoding\fR 4 .IX Item "--encoding=encoding" .PD کدگذاری نویسه (character encoding) رشته‌هایی را که باید یافت شوند مشخص می‌کند. مقادیر ممکن برای \fIencoding\fR عبارتند از: \fBs\fR = نویسه‌های تک‌بایتی ۷-بیتی (پیش‌فرض)، \fBS\fR = نویسه‌های تک‌بایتی ۸-بیتی، \fBb\fR = ۱۶ بیتی با ترتیب بایت بزرگ‌انتها (bigendian)، \fBl\fR = ۱۶ بیتی با ترتیب بایت کوچک‌انتها (littleendian)، \fBB\fR = ۳۲ بیتی با ترتیب بایت بزرگ‌انتها (bigendian)، و \fBL\fR = ۳۲ بیتی با ترتیب بایت کوچک‌انتها (littleendian). این گزینه برای یافتن رشته‌های نویسه عریض (wide character) کاربرد دارد (\fBl\fR و \fBb\fR برای نمونه در کدگذاری‌های یونیکد UTF\-16/UCS\-2 استفاده می‌شوند). .IP "\fB\-U\fR \fI[d|i|l|e|x|h]\fR" 4 .IX Item "-U [d|i|l|e|x|h]" .PD 0 .IP \fB\-\-unicode=\fR\fI[default|invalid|locale|escape|hex|highlight]\fR 4 .IX Item "--unicode=[default|invalid|locale|escape|hex|highlight]" .PD نحوه نمایش نویسه‌های چندبایتی کدگذاری‌شده با UTF\-8 را در رشته‌ها کنترل می‌کند. مقدار پیش‌فرض (\fB\-\-unicode=default\fR) هیچ رفتار خاصی با آن‌ها ندارد و در عوض به تنظیمات گزینه \&\fB\-\-encoding\fR متکی است. مقادیر دیگر برای این گزینه، به طور خودکار مقدار \fB\-\-encoding=S\fR را فعال می‌کنند. .Sp گزینه \fB\-\-unicode=invalid\fR با آن‌ها به عنوان نویسه‌های غیرگرافیکی رفتار کرده و در نتیجه آن‌ها را بخشی از یک رشته معتبر به شمار نمی‌آورد. تمام گزینه‌های باقی‌مانده با آن‌ها به عنوان نویسه‌های رشته‌ای معتبر رفتار می‌کنند. .Sp گزینه \fB\-\-unicode=locale\fR آن‌ها را بر اساس لوکال (locale) فعلی نمایش می‌دهد که ممکن است از کدگذاری UTF\-8 پشتیبانی بکند یا نکند. گزینه \&\fB\-\-unicode=hex\fR آن‌ها را به صورت دنباله‌هایی از بایت‌های هگزادسیمال محصور میان نویسه‌های \fI<>\fR نمایش می‌دهد. گزینه \fB\-\-unicode=escape\fR آن‌ها را به شکل توالی‌های گریز (\fI\euxxxx\fR) و گزینه \&\fB\-\-unicode=highlight\fR آن‌ها را به شکل توالی‌های گریز به رنگ قرمز برجسته شده (در صورت پشتیبانی دستگاه خروجی) نمایش می‌دهد. رنگ‌آمیزی به منظور جلب توجه به وجود دنباله‌های یونیکد در جاهایی است که احتمالاً انتظار آن‌ها نمی‌رود. .IP "\fB\-T\fR \fIbfdname\fR" 4 .IX Item "-T bfdname" .PD 0 .IP \fB\-\-target=\fR\fIbfdname\fR 4 .IX Item "--target=bfdname" .PD یک قالب کُد شیء (object code format) متفاوت با قالب پیش‌فرض سیستم\*(Aq را مشخص می‌کند. .IP \fB\-v\fR 4 .IX Item "-v" .PD 0 .IP \fB\-V\fR 4 .IX Item "-V" .IP \fB\-\-version\fR 4 .IX Item "--version" .PD شماره نسخه برنامه را در خروجی استاندارد چاپ کرده و خارج می‌شود. .IP \fB\-w\fR 4 .IX Item "-w" .PD 0 .IP \fB\-\-include\-all\-whitespace\fR 4 .IX Item "--include-all-whitespace" .PD به طور پیش‌فرض، نویسه‌های تب و فاصله در رشته‌های نمایش‌داده‌شده گنجانده می‌شوند، اما سایر نویسه‌های فاصله خالی (whitespace) مانند خط جدید و بازگشت به ابتدای سطر لحاظ نمی‌گردند. گزینه \fB\-w\fR این رفتار را تغییر می‌دهد تا تمام نویسه‌های فاصله خالی بخشی از یک رشته در نظر گرفته شوند. .IP \fB\-s\fR 4 .IX Item "-s" .PD 0 .IP \fB\-\-output\-separator\fR 4 .IX Item "--output-separator" .PD به طور پیش‌فرض، رشته‌های خروجی با خط جدید از یکدیگر تفکیک می‌شوند. این گزینه امکان مشخص کردن هر رشته دلخواه را به عنوان جداکننده رکوردهای خروجی فراهم می‌سازد. این قابلیت همراه با \-\-include\-all\-whitespace که ممکن است رشته‌ها در درون خود شامل خطوط جدید باشند، بسیار کاربردی است. .IP \fB@\fR\fIfile\fR 4 .IX Item "@file" گزینه‌های خط فرمان را از \fIfile\fR می‌خواند. گزینه‌های خوانده‌شده به جای گزینه اصلی @\fIfile\fR درج می‌شوند. اگر \fIfile\fR وجود نداشته باشد یا قابل خواندن نباشد، با این گزینه به شکل تحت‌اللفظی رفتار خواهد شد و حذف نمی‌شود. .Sp گزینه‌ها در \fIfile\fR با نویسه فاصله سفید جدا می‌شوند. می‌توان یک نویسه فاصله سفید را با قرار دادن کل گزینه درون علامت نقل‌قول تکی یا دوتایی، در آن گنجاند. هر نویسه‌ای (از جمله ممیز وارونه) را می‌توان با درج یک ممیز وارونه پیش از آن وارد کرد. خود \fIfile\fR نیز ممکن است شامل گزینه‌های @\fIfile\fR بیشتری باشد؛ هر یک از این گزینه‌ها به صورت بازگشتی پردازش خواهند شد. .SH "همچنین ببینید (SEE ALSO)" .IX Header "SEE ALSO" \&\fBar\fR\|(1)، \fBnm\fR\|(1)، \fBobjdump\fR\|(1)، \fBranlib\fR\|(1)، \fBreadelf\fR\|(1) و مدخل‌های Info برای \fIbinutils\fR. .SH "کپی‌رایت و تکثیر (COPYRIGHT)" .IX Header "COPYRIGHT" کپی‌رایت (c) ۱۹۹۱\-۲۰۲۵ Free Software Foundation, Inc. .PP مجوز کپی، توزیع و/یا تغییر این سند تحت شرایط مجوز مستندات آزاد گنو (GNU Free Documentation License)، نسخه ۱.۳ یا هر نسخه بعدی منتشر شده توسط بنیاد نرم‌افزار آزاد اعطا می‌شود؛ بدون بخش‌های تغییرناپذیر، بدون متون روی جلد، و بدون متون پشت جلد. نسخه‌ای از این مجوز در بخشی با عنوان "GNU Free Documentation License" گنجانده شده است.