.\" -*- 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، این برنامه به‌طور پیش‌فرض یا تمام دنباله‌های قابل‌چاپِ یافت‌شده در هر فایل را نمایش می‌دهد، یا تنها دنباله‌هایی که در بخش‌های داده‌ای بارگذاری‌پذیر و مقداردهی‌شده قرار دارند. اگر نوع فایل غیرقابل تشخیص باشد، یا اگر 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 بستگی دارد. دنباله‌ها همواره در نویسه‌های کنترلی مانند خط‌جدید (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 آفست (موقعیت برحسب بایت) در فایل را پیش از هر رشته چاپ می‌کند. آرگومانِ تک‌نویسه‌ای، مبنای عددیِ (radix) آفست را تعیین می‌کند: \fBo\fR برای مبنای هشت، \fBx\fR برای مبنای شانزده، یا \fBd\fR برای مبنای ده. .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» گنجانده شده است.