.\" -*- 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 مشخص‌شده، دستور \fBstrings\fR گنو توالی نویسه‌های قابل‌چاپی را که طول آن‌ها دست‌کم ۴ نویسه باشد (یا تعدادی که با گزینه‌های زیر مشخص شده است) و پس از آن‌ها یک نویسه غیرقابل‌چاپ می‌آید، چاپ می‌کند. .PP بسته به نحوه پیکربندی برنامه strings، به طور پیش‌فرض یا تمام توالی‌های قابل‌چاپی را که در هر فایل پیدا می‌کند نمایش می‌دهد، یا فقط توالی‌هایی را که در بخش‌های داده‌ای بارگذاری‌پذیر و مقداردهی‌شده قرار دارند. اگر نوع فایل قابل تشخیص نباشد، یا اگر 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 انتخاب کدگذاری نویسه‌ای رشته‌هایی که باید پیدا شوند. مقادیر ممکن برای \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 آن‌ها را بر اساس لوکال جاری نمایش می‌دهد، که ممکن است از کدگذاری 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 مشخص کردن قالب کدهای شیء، غیر از قالب پیش‌فرض سیستم شما. .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 به طور پیش‌فرض، نویسه‌های تب و فاصله در رشته‌های ارائه‌شده گنجانده می‌شوند، اما سایر نویسه‌های فاصله خالی مانند خط‌جدید و بازگشت‌به‌سرخط لحاظ نمی‌شوند. گزینه \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" Copyright (c) 1991\-2025 Free Software Foundation, Inc. .PP اجازه نسخه‌برداری، توزیع و/یا تغییر این سند تحت شرایط «مجوز مستندات آزاد گنو» (GNU Free Documentation License)، نگارش ۱.۳ یا هر نگارش بعدی منتشرشده توسط بنیاد نرم‌افزارهای آزاد اعطا می‌شود؛ بدون بخش‌های تغییرناپذیر، بدون متون روی جلد و بدون متون پشت جلد. یک نسخه از این مجوز در بخشی با عنوان «GNU Free Documentation License» گنجانده شده است.