.\" -*- 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، این ابزار به‌طور پیش‌فرض یا تمام دنباله‌های قابل‌چاپ موجود در هر فایل را نمایش می‌دهد، یا تنها دنباله‌هایی را نشان می‌دهد که در بخش‌های داده‌ای بارگذاری‌شدنی و مقداردهی‌اولیه شده (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 تنها رشته‌های موجود در بخش‌های داده‌ایِ مقداردهی‌اولیه شده و بارگذاری‌شده در فایل را چاپ می‌کند. این کار ممکن است حجم داده‌های بیهوده (garbage) را در خروجی کاهش دهد، اما برنامهٔ 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 بستگی دارد. دنباله‌ها همواره در نویسه‌های کنترلی مانند خط جدید (newline) و بازگشت به ابتدای سطر (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 تعیین یک قالب کد شیء (object code) به غیر از قالب پیش‌فرض سیستم شما. .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)، نسخهٔ ۱.۳ یا هر نسخهٔ جدیدتر منتشر شده توسط بنیاد نرم‌افزارهای آزاد (Free Software Foundation) اعطا می‌شود؛ بدون بخش‌های تغییرناپذیر، بدون متون روی جلد و بدون متون پشت جلد. نسخه‌ای از این مجوز در بخشی با عنوان «GNU Free Documentation License» گنجانده شده است.