| MAN(1) | ابزارهای صفحهبندی راهنما | MAN(1) |
نام (NAME)
man - رابطی برای راهنماهای مرجع سیستم
خلاصه دستور (SYNOPSIS)
man
[گزینههای
man] [[بخش]
صفحه ...] ...
man -k
[گزینههای
apropos]
عبارت_منظم
...
man -K
[گزینههای
man] [بخش]
عبارت ...
man -f [whatis
گزینهها]
صفحه ...
man -l
[گزینههای
man] پرونده ...
man -w|-W
[گزینههای
man] صفحه ...
توضیحات (DESCRIPTION)
man پیجر راهنمای سیستم است. هر آرگومان page دادهشده به man معمولاً نام یک برنامه، ابزار یا تابع است. سپس صفحهٔ راهنمای مرتبط با هر یک از این آرگومانها پیدا و نمایش داده میشود. یک section، در صورت مشخص شدن، man را هدایت میکند تا تنها در همان section از راهنما جستجو کند. رفتار پیشفرض، جستجو در تمام sections موجود بر اساس ترتیبی از پیش تعیینشده است (نگاه کنید به DEFAULTS)، و تنها نمایش نخستین page یافتشده است، حتی اگر page در چندین section وجود داشته باشد.
جدول زیر شمارههای section راهنما را به همراه نوع صفحاتی که در بر دارند نشان میدهد.
| 1 | برنامههای اجرایی یا دستورات پوسته |
| 2 | فراخوانهای سیستم (توابع ارائهشده توسط هسته) |
| 3 | فراخوانهای کتابخانه (توابع درون کتابخانههای برنامه) |
| 4 | فایلهای ویژه (معمولاً در /dev یافت میشوند) |
| 5 | قالبهای فایل و قراردادها، مانند /etc/passwd |
| 6 | بازیها |
| 7 | متفرقه (شامل بستههای ماکرو و قراردادها)، مانند man(7)، groff(7)، man-pages(7) |
| 8 | دستورات مدیریت سیستم (معمولاً فقط برای root) |
| 9 | روالهای هسته [غیر استاندارد] |
یک صفحهٔ راهنما از چندین بخش تشکیل شده است.
نامهای متداول بخشها شامل NAME، SYNOPSIS، CONFIGURATION، DESCRIPTION، OPTIONS، EXIT STATUS، RETURN VALUE، ERRORS، ENVIRONMENT، FILES، VERSIONS، STANDARDS، NOTES، BUGS، EXAMPLE، AUTHORS، و SEE ALSO. قراردادهای زیر برای بخش SYNOPSIS اعمال میشوند و میتوان از آنها به عنوان راهنما در دیگر بخشها نیز استفاده کرد.
| متن پررنگ | دقیقاً همانطور که نشان داده شده تایپ کنید. |
| متن مورب | با آرگومان مناسب جایگزین کنید. |
| [-abc] | هر یک یا تمام آرگومانهای درون [ ] اختیاری هستند. |
| -a|-b | گزینههایی که با | جدا شدهاند، نمیتوانند همزمان استفاده شوند. |
| آرگومان ... | آرگومان قابل تکرار است. |
| [عبارت] ... | کل عبارت درون [ ] قابل تکرار است. |
نمایش دقیق ممکن است بسته به دستگاه خروجی متفاوت باشد. برای نمونه، man معمولاً هنگام اجرا در ترمینال قادر به نمایش متن مورب نخواهد بود و معمولاً به جای آن از متن زیرخطدار یا رنگی استفاده میکند.
نمایش دستور یا تابع، الگویی است که باید با تمام فراخوانیهای ممکن مطابقت داشته باشد. در برخی موارد توصیه میشود چندین فراخوانی مانعةالجمع نشان داده شوند، همانطور که در بخش SYNOPSIS این صفحهٔ راهنما نشان داده شده است.
مثالها (EXAMPLES)
- man ls
- نمایش صفحهٔ راهنما برای مورد (برنامه) ls.
- man man.7
- نمایش صفحهٔ راهنما برای بستهٔ ماکروی man از بخش 7. (این نگارش دیگری از "man 7 man" است.)
- man 'man(7)'
- نمایش صفحهٔ راهنما برای بستهٔ ماکروی man از بخش 7. (این شیوه، نگارش جایگزین دیگری از "man 7 man" است. ممکن است این روش هنگام رونوشت و جایگذاری ارجاعات متقابل به صفحات راهنما، راحتتر باشد. توجه داشته باشید که پرانتزها معمولاً باید نقلقول شوند تا در برابر شل محافظت گردند.)
- man -a intro
- نمایش پیاپی تمام صفحات راهنمای موجودِ intro درون این راهنما. امکان خروج بین نمایشهای پیاپی یا رد کردن هر یک از آنها وجود دارد.
- man -t bash | lpr -Pps
- قالببندی صفحهٔ راهنما برای bash به قالب پیشفرض troff یا groff و ارسال آن از طریق لوله به چاپگری با نام ps. خروجی پیشفرض برای groff معمولاً PostScript است. دستور man --help باید مشخص کند که کدام پردازشگر به گزینهٔ -t اختصاص یافته است.
- man -l -Tdvi ./foo.1x.gz > ./foo.1x.dvi
- این دستور، صفحهٔ راهنمای منبع nroff ./foo.1x.gz را از حالت فشرده خارج کرده و به یک پروندهٔ device independent (dvi) قالببندی میکند. تغییر مسیر لازم است زیرا گزینهٔ -T باعث میشود خروجی بدون صفحهبند به stdout هدایت شود. خروجی را میتوان با برنامهای مانند xdvi مشاهده کرد یا با استفاده از برنامهای همچون dvips بیشتر پردازش کرده و به PostScript تبدیل نمود.
- man -k printf
- جستجوی توضیحات کوتاه و نام صفحههای راهنما برای کلیدواژه printf بهعنوان عبارت باقاعده. چاپ هرگونه مورد منطبق. معادل با apropos printf.
- man -f smail
- جستجوی صفحههای راهنمای ارجاعشده توسط smail و چاپ توضیحات کوتاه هر مورد یافتشده. معادل با whatis smail.
نمای کلی (OVERVIEW)
گزینههای متعددی برای man در دسترس است تا بیشترین انعطافپذیری ممکن را برای کاربر فراهم کند. میتوان تغییراتی در مسیر جستجو، ترتیب بخشها، پردازندهی خروجی و سایر رفتارها و عملیاتهایی که در ادامه شرح داده شدهاند اعمال کرد.
در صورت مقداردهی، متغیرهای محیطی گوناگونی برای تعیین نحوهی عملکرد man بررسی میشوند. امکان تنظیم متغیر همهمنظورهی $MANOPT به هر رشتهای در قالب خط فرمان وجود دارد، با این استثنا که هر فاصلهای که به عنوان بخشی از آرگومان یک گزینه استفاده میشود باید گریز داده شود (پیش از آن یک بکاسلش قرار گیرد). man متغیر $MANOPT را پیش از تجزیهی خط فرمان خود بررسی و پردازش خواهد کرد. گزینههایی که نیاز به آرگومان دارند توسط گزینههای مشابه موجود در خط فرمان بازنویسی خواهند شد. برای بازنشانی تمام گزینههای تنظیمشده در $MANOPT, -D میتواند به عنوان گزینهی ابتدایی خط فرمان مشخص شود. این کار به man امکان میدهد تا گزینههای مشخصشده در $MANOPT را «فراموش» کند، هرچند که آنها همچنان باید معتبر بوده باشند.
صفحههای راهنما معمولاً در قالب nroff(1) در دایرکتوریهایی مانند /usr/share/man ذخیره میشوند. در برخی از نصبها، ممکن است صفحههای پیشقالببندیشدهی cat pages نیز برای بهبود کارایی وجود داشته باشند. برای اطلاع از جزئیات محل ذخیرهسازی این فایلها به manpath(5) مراجعه کنید.
این بسته از صفحههای راهنما به چندین زبان پشتیبانی میکند که توسط locale شما کنترل میشود. اگر سیستم شما این مورد را بهطور خودکار تنظیم نکرده است، ممکن است لازم باشد $LC_MESSAGES, $LANG, یا متغیر محیطی وابستهبهسیستم دیگری را جهت مشخص کردن زبان و محیط محلی (locale) دلخواه خود مقداردهی کنید، که معمولاً در قالب POSIX مشخص میشود:
<language>[_<territory>[.<character-set>[,<version>]]]
اگر صفحهی مورد نظر در locale شما در دسترس باشد، به جای صفحهی استاندارد (معمولاً انگلیسی آمریکایی) نمایش داده خواهد شد.
اگر متوجه شدید ترجمههای ارائهشده همراه این بسته به زبان مادری شما در دسترس نیست و تمایل دارید آنها را ارائه دهید، لطفاً با نگهدارندهای که هماهنگی این فعالیتها را بر عهده دارد تماس بگیرید.
صفحههای راهنمای اختصاصی معمولاً توسط نگهدارندگان همان برنامه، تابع، یا موضوع دیگری که مستند میکنند نوشته و نگهداری میشوند و همراه با این بسته ارائه نشدهاند. اگر مشاهده کردید یک صفحهی راهنما وجود ندارد یا ناکافی است، لطفاً آن را به نگهدارندگان بستهی مربوطه گزارش دهید. برای کسب اطلاعات درباره سایر قابلیتها و افزونههای ارائهشده همراه با این صفحهبند راهنما، لطفاً مستندات عرضهشده همراه با بسته را مطالعه کنید.
پیشفرضها (DEFAULTS)
ترتیب بخشها برای جستجو ممکن است توسط متغیر محیطی $MANSECT یا دستورالعمل SECTION در /etc/man_db.conf بازنویسی شود. بهطور پیشفرض به صورت زیر است:
صفحه راهنمای قالببندیشده با استفاده از یک pager نمایش داده میشود. این مورد را میتوان به چندین روش مشخص کرد، در غیر این صورت به یک مقدار پیشفرض بازمیگردد (برای جزئیات به گزینه -P مراجعه کنید).
فیلترها از چندین طریق شناسایی میشوند. در ابتدا، گزینه خط فرمان -p یا متغیر محیطی $MANROFFSEQ بررسی میشود. اگر از -p استفاده نشده باشد و متغیر محیطی نیز تنظیم نشده باشد، خط نخست پرونده nroff برای یافتن رشته پیشپردازنده تجزیه میشود. برای اینکه خط نخست حاوی یک رشته پیشپردازنده معتبر باشد، باید شبیه به این باشد:
'\" <string>
که در آن string میتواند هر ترکیبی از حروف شرحدادهشده در گزینه -p در زیر باشد.
اگر هیچیک از روشهای بالا اطلاعاتی درباره فیلتر ارائه ندهند، از یک مجموعه پیشفرض استفاده میشود.
یک خطلوله قالببندی از فیلترها و قالببند اصلی (nroff یا [tg]roff همراه با -t) تشکیل شده و اجرا میشود. همچنین، چنانچه یک برنامه اجرایی به نام mandb_nfmt (یا mandb_tfmt همراه با -t) در ریشه درخت man وجود داشته باشد، به جای آن اجرا میشود. پرونده منبع راهنما، رشته پیشپردازنده، و بهصورت اختیاری دستگاه مشخصشده با -T یا -E به عنوان آرگومان به آن ارسال میشوند.
گزینهها (OPTIONS)
تکرار گزینههای بدون آرگومان در خط فرمان، در $MANOPT، یا در هر دو، مشکلی ایجاد نمیکند. برای گزینههایی که به یک آرگومان نیاز دارند، هر بار تکرار مقدار آرگومان قبلی را بازنویسی خواهد کرد.
گزینههای عمومی
- -C file, --config-file=file
- استفاده از این فایل پیکربندی کاربر بهجای پیشفرض ~/.manpath.
- -d, --debug
- چاپ اطلاعات اشکالزدایی.
- -D, --default
- این گزینه معمولاً بهعنوان اولین گزینه داده میشود و رفتار man را به حالت پیشفرض بازمیگرداند. کاربرد آن، بازنشانی گزینههایی است که ممکن است در $MANOPT تنظیم شده باشند. هر گزینهای که پس از -D بیاید، تأثیر معمول خود را خواهد داشت.
- --warnings[=warnings]
- فعالسازی هشدارهای groff. از این گزینه میتوان برای بررسی صحت متن مبدأ صفحات راهنما استفاده کرد. warnings فهرستی از نامهای هشدار است که با کاما از هم جدا شدهاند؛ اگر ارائه نشود، مقدار پیشفرض "mac" است. برای غیرفعال کردن یک هشدار groff علامت "!" را به ابتدای آن بیفزایید: برای نمونه، --warnings=mac,!break هشدارهای دستهٔ "mac" را فعال و هشدارهای دستهٔ "break" را غیرفعال میکند. برای مشاهدهٔ فهرستی از نامهای هشدار موجود، به گره “Warnings” در info groff مراجعه کنید.
حالتهای اصلی عملیات
- -f, --whatis
- تقریباً معادل با whatis. نمایش توضیحی کوتاه از صفحهٔ راهنما، در صورت وجود. برای جزئیات، به whatis(1) مراجعه کنید.
- -k, --apropos
- تقریباً معادل apropos است. توضیحات کوتاه صفحات راهنما را برای کلیدواژهها جستوجو کرده و موارد منطبق را نمایش میدهد. برای جزئیات بیشتر به apropos(1) مراجعه کنید.
- -K, --global-apropos
- جستوجوی متن در تمامی صفحات راهنما. این یک جستوجوی جامع و سنگین (brute-force) است و احتمالاً مدتی زمان میبرد؛ در صورت امکان، بهتر است یک بخش را مشخص کنید تا تعداد صفحاتی که باید جستوجو شوند کاهش یابد. عبارات جستوجو میتوانند رشتههای متنی ساده (حالت پیشفرض) باشند، یا در صورتی که از گزینهٔ --regex استفاده شود، عبارت باقاعده باشند.
- توجه داشته باشید که این گزینه پروندههای منبع صفحات راهنما را جستوجو میکند، نه متن رندرشده را؛ بنابراین ممکن است شامل موارد مثبت کاذب به دلیل مواردی چون کامنتها در پروندههای منبع، یا منفی کاذب به دلیل مواردی مانند نوشتهشدن خط تیره بهصورت "\-" در پروندههای منبع باشد. جستوجوی متن رندرشده بسیار کندتر خواهد بود.
- -l, --local-file
- فعالسازی حالت «محلی» (local). قالببندی و نمایش پروندههای راهنمای محلی بهجای جستوجو در مجموعه راهنماهای سیستم. هر آرگومان صفحهٔ راهنما بهصورت یک پروندهٔ منبع nroff با ساختار صحیح تفسیر خواهد شد. هیچ پروندهٔ cat تولید نمیشود. اگر '-' بهعنوان یکی از آرگومانها داده شود، ورودی از stdin خوانده خواهد شد.
- اگر از این گزینه استفاده نشود، در صورتی که آرگومان حاوی نویسهٔ "/" باشد، man همچنین به تفسیر آرگومانهای صفحهٔ راهنما بهعنوان نام پروندههای محلی بازمیگردد، چرا که این نشانهٔ خوبی از اشارهٔ آرگومان به مسیری در سیستم پرونده است.
- -w, --where, --path, --location
- صفحهٔ راهنما را عملاً نمایش نمیدهد، بلکه مکان پروندهٔ منبع nroff را که قالببندی میشد چاپ میکند. اگر گزینهٔ -a نیز استفاده شود، مکان تمام پروندههای منبعی را که با معیارهای جستوجو مطابقت دارند چاپ میکند.
- -W, --where-cat, --location-cat
- صفحهٔ راهنما را واقعاً نمایش نده، بلکه مکان پروندهٔ cat از پیش قالببندیشدهای را که نمایش داده میشد چاپ کن. اگر گزینهٔ -a نیز استفاده شود، مکان تمام پروندههای cat از پیش قالببندیشدهای که با معیارهای جستجو مطابقت دارند را چاپ کن.
- اگر هر دو گزینهٔ -w و -W استفاده شوند، هم پروندهٔ مبدأ و هم پروندهٔ cat را که با یک فاصله از هم جدا شدهاند چاپ کن. اگر همهٔ گزینههای -w، -W و -a استفاده شوند، این کار را برای هر تطابق ممکن انجام بده.
- -c, --catman
- این گزینه برای استفادهٔ عمومی نیست و فقط باید توسط برنامهٔ catman استفاده شود.
- -R encoding, --recode=encoding
- بهجای قالببندی صفحهٔ راهنما به روش معمول، منبع آن را پس از تبدیل به encoding مشخصشده خروجی بده. اگر از قبل کدگذاری پروندهٔ مبدأ را میدانید، میتوانید مستقیماً از manconv(1) نیز استفاده کنید. با این حال، این گزینه به شما امکان میدهد چندین صفحهٔ راهنما را به یک کدگذاری واحد تبدیل کنید، بدون اینکه نیاز باشد کدگذاری هر یک را بهطور صریح مشخص کنید؛ به شرطی که آنها از قبل در ساختاری مشابه با سلسلهمراتب صفحات راهنما نصب شده باشند.
- برای تبدیل چندین صفحهٔ راهنما، استفاده از man-recode(1) را در نظر داشته باشید، چرا که رابط کاربری آن برای تبدیل گروهی طراحی شده است و میتواند بسیار سریعتر باشد.
یافتن صفحات راهنما
- -L locale, --locale=locale
- man بهطور معمول تنظیمات محلی فعلی شما را با فراخوانی تابع C setlocale(3) تعیین میکند که متغیرهای محیطی گوناگونی را بررسی مینماید، از جمله احتمالاً $LC_MESSAGES و $LANG. برای جایگزینی موقت مقدار تعیینشده، از این گزینه استفاده کنید تا یک رشتهٔ locale را مستقیماً به man ارائه دهید. توجه داشته باشید که این گزینه تا زمانی که جستجو برای صفحات واقعاً آغاز نشود، اعمال نخواهد شد. خروجیهایی مانند پیام راهنما همواره در تنظیمات محلی اولیهٔ تعیینشده نمایش داده خواهند شد.
- -m system[,...], --systems=system[,...]
- اگر این
سیستم به
صفحات
راهنمای
سایر
سیستمعاملها
دسترسی
دارد،
میتوان با
استفاده از
این گزینه
به آنها
دسترسی
پیدا کرد.
برای
جستجوی یک
صفحه
راهنما از
مجموعه
صفحات
راهنمای NewOS،
از گزینهٔ
زیر
استفاده
کنید: -m NewOS.
مقدار system مشخصشده میتواند ترکیبی از نامهای سیستمعامل جداشده با کاما باشد. برای گنجاندن جستجو در صفحات راهنمای سیستمعامل بومی، نام سیستم man را در رشته آرگومان قرار دهید. این گزینه بر متغیر محیطی $SYSTEM اولویت خواهد داشت.
- -M path, --manpath=path
- یک manpath
جایگزین را
برای
استفاده
مشخص
میکند.
بهطور
پیشفرض،
man از کد
مشتقشده
از manpath برای
تعیین مسیر
جستجو
استفاده
میکند. این
گزینه بر
متغیر
محیطی $MANPATH
اولویت
دارد و باعث
میشود
گزینهٔ -m
نادیده
گرفته شود.
مسیری که بهعنوان manpath مشخص میشود، باید ریشهٔ سلسلهمراتبی از صفحات راهنما باشد که طبق توضیحات راهنمای man-db (در بخش "The manual page system")، در بخشهای مختلف ساختار یافته است. برای مشاهدهٔ صفحات راهنما در خارج از چنین سلسلهمراتبهایی، گزینهٔ -l را ببینید.
- -S list, -s list, --sections=list
- فهرست list دادهشده، فهرستی از بخشها است که با دونقطه یا کاما از هم جدا شدهاند و برای تعیین اینکه کدام بخشهای راهنما و با چه ترتیبی جستجو شوند، به کار میرود. این گزینه بر متغیر محیطی $MANSECT اولویت دارد. (نگارش -s برای سازگاری با System V است.)
- -e sub-extension, --extension=sub-extension
- برخی سیستمها بستههای بزرگی از صفحات راهنما، مانند مواردی که همراه بستهٔ Tcl هستند را در سلسلهمراتب اصلی صفحات راهنما ادغام میکنند. برای دور زدن مشکل وجود دو صفحهٔ راهنما با نام یکسان مانند exit(3), معمولاً تمام صفحات Tcl اختصاص داده میشدند به بخش l. از آنجا که این وضعیت نامطلوب است، اکنون میتوان صفحات را در بخش صحیح قرار داد و یک «پسوند» خاص به آنها اختصاص داد؛ در این مورد، exit(3tcl). در حالت عادی، man صفحهٔ exit(3) را نمایش میدهد با اولویت نسبت به exit(3tcl). برای مدیریت این وضعیت و بینیازی از دانستن اینکه صفحهٔ مورد نظر در کدام بخش قرار دارد، اکنون میتوان به man یک رشتهٔ sub-extension داد که مشخص میکند صفحه باید متعلق به کدام بسته باشد. با استفاده از مثال بالا، دادن گزینهٔ -e tcl به man جستوجو را محدود میکند به صفحاتی با پسوند *tcl.
- -i, --ignore-case
- نادیده گرفتن بزرگی و کوچکی حروف هنگام جستوجوی صفحات راهنما. این حالت پیشفرض است.
- -I, --match-case
- جستوجوی حساس به بزرگی و کوچکی حروف برای صفحات راهنما.
- --regex
- نمایش تمام صفحاتی که بخشی از نام یا توضیحات آنها با هر آرگومان page بهعنوان یک عبارت باقاعده مطابقت دارد، مشابه apropos(1). از آنجا که معمولاً هنگام جستوجو برای یک عبارت باقاعده راه معقولی برای انتخاب «بهترین» صفحه وجود ندارد، این گزینه دلالت دارد بر -a.
- --wildcard
- نمایش تمام صفحاتی که هر بخشی از نام یا توضیحات آنها با هر آرگومان page با استفاده از نویسههای عمومی سبک پوسته مطابقت دارد، همانند apropos(1) --wildcard. آرگومان page باید با کل نام یا توضیحات مطابقت داشته باشد، یا با مرزهای کلمات در توضیحات مطابقت کند. از آنجا که معمولاً هنگام جستجو با یک نویسه عمومی راه معقولی برای انتخاب «بهترین» صفحه وجود ندارد، این گزینه به طور ضمنی شامل این گزینه است: -a.
- --names-only
- اگر از گزینهٔ --regex یا --wildcard استفاده شود، تنها نام صفحهها مطابقت داده میشوند و نه توضیحات آنها، همانند whatis(1). در غیر این صورت، اثری ندارد.
- -a, --all
- بهصورت پیشفرض، man پس از نمایش مناسبترین صفحهٔ راهنمایی که مییابد خارج خواهد شد. استفاده از این گزینه man را وادار میکند تا تمام صفحات راهنمایی که نام آنها با معیارهای جستجو مطابقت دارد را نمایش دهد.
- -u, --update
- این گزینه باعث میشود man حافظههای نهان پایگاهدادهٔ صفحات راهنمای نصبشدهٔ خود را بهروزرسانی کند. این کار تنها در شرایط نادری مورد نیاز است، و معمولاً بهتر است به جای آن mandb(8) اجرا شود.
- --no-subpages
- بهصورت
پیشفرض،
man تلاش
میکند
جفتنامهای
صفحات
راهنمای
دادهشده
در خط فرمان
را معادل یک
نام صفحهٔ
راهنمای
منفردِ
حاوی خط
تیره یا
زیرخط
تفسیر کند.
این قابلیت
از الگوی
رایج
برنامههایی
پشتیبانی
میکند که
تعدادی
زیردستور
را
پیادهسازی
کردهاند،
و به آنها
اجازه
میدهد
برای هر یک
صفحات
راهنمایی
ارائه دهند
که با
استفاده از
نحوی مشابه
روش
فراخوانی
خودِ
زیردستورها
قابل
دسترسی
باشند. برای
مثال:
$ man -aw git diff /usr/share/man/man1/git-diff.1.gz
برای غیرفعال کردن این رفتار، از گزینهٔ --no-subpages استفاده کنید.
$ man -aw --no-subpages git diff /usr/share/man/man1/git.1.gz /usr/share/man/man3/Git.3pm.gz /usr/share/man/man1/diff.1.gz
کنترل خروجی قالببندیشده
- -P pager, --pager=pager
- صفحهبندیکنندهٔ
خروجی مورد
استفاده را
مشخص
میکند.
بهطور
پیشفرض،
man از less
استفاده
میکند، و
در صورتی که
less یافت
نشود یا
قابل اجرا
نباشد، به
cat رجوع
میکند. این
گزینه
متغیر
محیطی $MANPAGER را
بازنویسی
میکند، که
آن نیز
بهنوبهٔ
خود متغیر
محیطی $PAGER را
بازنویسی
مینماید.
این گزینه
در کنار -f
یا -k
استفاده
نمیشود.
مقدار میتواند یک نام دستور ساده یا دستوری همراه با آرگومانها باشد، و میتواند از نقلقولگذاریهای پوسته (بکاسلش، نقلقول تکی یا دوگانه) استفاده کند. نمیتوان از لولهها (pipes) برای اتصال چندین دستور استفاده کرد؛ اگر به چنین چیزی نیاز دارید، از یک اسکریپت پوششی (wrapper script) استفاده کنید، که میتواند پرونده را جهت نمایش به عنوان آرگومان یا از طریق ورودی استاندارد دریافت کند.
- -r prompt, --prompt=prompt
- اگر نسخهٔ
جدیدی از less
بهعنوان
صفحهبندیکننده
استفاده
شود، man
تلاش خواهد
کرد اعلان (prompt)
آن و برخی
گزینههای
معقول را
تنظیم کند.
اعلان
پیشفرض
شبیه به این
است:
Manual page name(sec) line x
که در آن name نشاندهندهٔ نام صفحهٔ راهنما، sec نشاندهندهٔ بخشی که صفحه در آن یافت شده، و x شمارهٔ خط فعلی است. این کار با استفاده از متغیر محیطی $LESS انجام میشود.
دادن یک رشته به -r این مقدار پیشفرض را بازنویسی خواهد کرد. این رشته میتواند شامل متن $MAN_PN باشد که به نام صفحهٔ راهنمای جاری و نام بخش آن در میان «(» و «)» بسط مییابد. رشتهای که برای تولید مقدار پیشفرض استفاده میشود را میتوان به این صورت بیان کرد:
\ Manual\ page\ \$MAN_PN\ ?ltline\ %lt?L/%L.:
byte\ %bB?s/%s..?\ (END):?pB\ %pB\\%..
(press h for help or q to quit)این رشته در اینجا صرفاً برای خوانایی بیشتر به سه خط شکسته شده است. برای درک مفهوم آن، به صفحهٔ راهنمای less(1) مراجعه کنید. رشتهٔ اعلان ابتدا توسط پوسته ارزیابی میشود. تمام علامتهای نقلقول دوتایی، نقلقولهای وارون (back-quotes) و بکاسلشها در اعلان باید با یک بکاسلشِ پیشین گریز داده شوند (escaped). رشتهٔ اعلان ممکن است به یک $ گریز داده شده ختم شود که میتواند با گزینههای بیشتری برای less دنبال شود. بهطور پیشفرض، man گزینههای -ix8 را تنظیم میکند. متغیر محیطی $MANLESS که در ادامه توضیح داده شده است، میتواند برای تعیین یک رشته اعلان پیشفرض در صورت مشخص نشدن در خط فرمان به کار رود.
- -7, --ascii
- هنگام
مشاهدهٔ یک
صفحهٔ
راهنمای
صرفاً ascii(7)
روی یک
پایانهٔ ۷
بیتی یا
شبیهساز
پایانه،
ممکن است
برخی
نویسهها
هنگام
استفاده از
توصیف
دستگاه latin1(7)
همراه با GNU
nroff،
بهدرستی
نمایش داده
نشوند. این
گزینه
اجازه
میدهد
صفحات
راهنمای
صرفاً ascii با
استفاده از
دستگاه latin1
به صورت ascii
نمایش داده
شوند. این
گزینه هیچ
متن latin1 را
تبدیل
نخواهد کرد.
جدول زیر
تبدیلهای
انجامشده
را نشان
میدهد:
ممکن است
برخی از
بخشهای آن
تنها هنگام
استفاده از
دستگاه latin1(7)
در GNU nroff
بهدرستی
نمایش داده
شوند.
توضیحات اکتال latin1 ascii خط تیره ادامه 255 ‐ - گلوله (نقطه میانی) 267 • o اکسان اگو 264 ´ ' علامت ضرب 327 × x اگر ستون latin1 بهدرستی نمایش داده میشود، ممکن است پایانهٔ شما برای نویسههای latin1 تنظیم شده باشد و این گزینه ضروری نیست. اگر ستونهای latin1 و ascii یکسان هستند، شما در حال خواندن این صفحه با استفاده از این گزینه هستید یا man این صفحه را با استفاده از توصیف دستگاه latin1 قالببندی نکرده است. اگر ستون latin1 وجود ندارد یا مخدوش است، ممکن است لازم باشد صفحات راهنما را با این گزینه مشاهده کنید.
این گزینه هنگام استفاده از گزینههای -t، -H، -T یا -Z نادیده گرفته میشود و ممکن است برای nroff بهجز GNU بیاستفاده باشد.
- -E encoding, --encoding=encoding
- تولید خروجی برای یک کدگذاری نویسه غیر از حالت پیشفرض. برای سازگاری با گذشته، encoding میتواند یک دستگاه nroff مانند ascii، latin1، یا utf8 و همچنین یک کدگذاری نویسه واقعی مانند UTF-8 باشد.
- --no-hyphenation, --nh
- بهطور
معمول، nroff
اگر برای
چیدمان
واژهها در
یک خط بدون
ایجاد
فاصلههای
بیش از حد
لازم باشد،
متن را در
محل شکستن
سطرها حتی
در کلماتی
که خط پیوند
ندارند،
بهطور
خودکار با
خط پیوند
جدا میکند.
این گزینه
جداسازی
خودکار با
خط پیوند را
غیرفعال
میکند،
بنابراین
کلمات تنها
در صورتی با
خط پیوند
جدا
میشوند که
از قبل
دارای خط
پیوند
باشند.
اگر در حال نگارش یک صفحه راهنما هستید و صرفاً میخواهید از شکستن یک واژه با خط پیوند در نقطهای نامناسب توسط nroff جلوگیری کنید، از این گزینه استفاده نکنید، بلکه در عوض به مستندات nroff مراجعه کنید؛ برای نمونه، میتوانید "\%" را درون یک واژه قرار دهید تا نشان دهید میتواند در آن نقطه با خط پیوند شکسته شود، یا "\%" را در ابتدای یک واژه بگذارید تا از شکستن آن با خط پیوند جلوگیری شود.
- --no-justification, --nj
- بهطور
معمول، nroff
متن را
بهطور
خودکار از
هر دو حاشیه
تراز
میکند. این
گزینه تراز
کامل را
غیرفعال
میکند و
متن را تنها
از حاشیه چپ
تراز نگه
میدارد،
که گاهی متن
«راستدندانهدار»
(ragged-right) نامیده
میشود.
اگر در حال نگارش یک صفحه راهنما هستید و صرفاً میخواهید از تراز کردن پاراگرافهای خاصی توسط nroff جلوگیری کنید، از این گزینه استفاده نکنید، بلکه در عوض به مستندات nroff مراجعه کنید؛ برای نمونه، میتوانید از درخواستهای ".na"، ".nf"، ".fi" و ".ad" برای غیرفعال کردن موقت تراز و پر کردن استفاده کنید.
- -p string, --preprocessor=string
- مشخص کردن دنباله پیشپردازندههایی که باید پیش از nroff یا troff/groff اجرا شوند. در همه سیستمها مجموعه کاملی از پیشپردازندهها وجود نخواهد داشت. برخی از پیشپردازندهها و حروفی که برای تعیین آنها استفاده میشوند عبارتند از: eqn (e)، grap (g)، pic (p)، tbl (t)، vgrind (v)، refer (r). این گزینه بر متغیر محیطی $MANROFFSEQ اولویت دارد. zsoelim همیشه به عنوان اولین پیشپردازنده اجرا میشود.
- -t, --troff
- از groff -mandoc برای قالببندی صفحه راهنما در stdout استفاده میکند. این گزینه همراه با -H، -T یا -Z لازم نیست.
- -T[device], --troff-device[=device]
- این گزینه برای تغییر خروجی groff (یا احتمالاً troff) جهت سازگاری با دستگاهی غیر از پیشفرض استفاده میشود. این گزینه بهطور ضمنی -t را فعال میکند. مثالها (تا نسخه 1.23.0 groff) شامل موارد زیر است: dvi، latin1، pdf، ps، utf8، X75 و X100.
- -H[browser], --html[=browser]
- این گزینه موجب میشود groff خروجی HTML تولید کرده و آن را در یک مرورگر وب نمایش دهد. انتخاب مرورگر با آرگومان اختیاری browser (در صورت ارائه)، متغیر محیطی $BROWSER یا در صورت تنظیم نبودن آن، با مقدار پیشفرض زمان کامپایل تعیین میشود (معمولاً lynx). این گزینه بهطور ضمنی -t را فعال میکند و تنها با GNU troff کار خواهد کرد.
- -X[dpi], --gxditview[=dpi]
- این گزینه خروجی groff را با استفاده از برنامه gxditview در یک پنجره گرافیکی نمایش میدهد. مقدار dpi (نقطه در اینچ) میتواند 75، 75-12، 100 یا 100-12 باشد که پیشفرض آن 75 است؛ گونههای -12 از یک قلم پایه 12 پوینتی استفاده میکنند. این گزینه بهطور ضمنی -T را به ترتیب با دستگاههای X75، X75-12، X100 یا X100-12 اعمال میکند.
- -Z, --ditroff
- groff دستور troff را اجرا کرده و سپس از یک پسپردازشگر مناسب برای تولید خروجی متناسب با دستگاه انتخابشده استفاده میکند. اگر groff -mandoc برابر با groff باشد، این گزینه به groff ارسال میشود و از بهکارگیری پسپردازشگر جلوگیری میکند. این گزینه مستلزم -t است.
دریافت راهنما
- -?, --help
- چاپ پیام راهنما و خروج.
- --usage
- چاپ پیام کوتاه نحوهٔ استفاده و خروج.
- -V, --version
- نمایش اطلاعات نسخه.
کدهای خروج (EXIT CODES)
- 0
- اجرای موفقیتآمیز برنامه.
- 1
- خطای نحوهٔ استفاده، نحو یا پروندهٔ پیکربندی.
- 2
- خطای عملیاتی.
- 3
- یک فرایند فرزند کد خروج غیرصفر بازگرداند.
- 16
- حداقل یکی از صفحهها/پروندهها/کلیدواژهها وجود نداشت یا مطابقت نیافت.
متغیرهای محیطی (ENVIRONMENT)
- MANPATH
- اگر $MANPATH
تنظیم شده
باشد،
مقدار آن به
عنوان مسیر
جستجو برای
صفحههای
راهنما
استفاده
میشود.
برای اطلاع از رفتار پیشفرض و جزئیات نحوهٔ مدیریت این متغیر محیطی، به بخش SEARCH PATH در manpath(5) مراجعه کنید.
- MANROFFOPT
- هر بار که man
قالببند
(nroff، troff، یا groff)
را
فراخوانی
کند،
محتوای $MANROFFOPT
را به خط
فرمان
قالببند
اضافه
میکند.
برای نمونه، MANROFFOPT=-P-i به قالببند میگوید به جای متن زیرخطدار، از متن مورب (که تنها در برخی پایانهها پشتیبانی میشود) استفاده کند.
- MANROFFSEQ
- اگر $MANROFFSEQ تنظیم شده باشد، از مقدار آن برای تعیین مجموعه پیشپردازندههایی که هر صفحه راهنما باید از آنها عبور کند، استفاده میشود. فهرست پیشفرض پیشپردازندهها وابسته به سیستم است.
- MANSECT
- اگر $MANSECT تنظیم شده باشد، مقدار آن فهرستی از بخشها است که با دونقطه از هم جدا شدهاند و برای تعیین اینکه کدام بخشهای راهنما و با چه ترتیبی جستجو شوند، به کار میرود. مقدار پیشفرض "1 1p n l 8 3 3p 0 0p 2 3type 5 4 9 6 7" است، مگر اینکه توسط دستورالعمل SECTION در /etc/man_db.conf بازنویسی شده باشد.
- MANPAGER, PAGER
- اگر $MANPAGER یا $PAGER
تنظیم شده
باشد ($MANPAGER در
اولویت
است)، از
مقدار آن به
عنوان نام
برنامهای
که برای
نمایش صفحه
راهنما به
کار
میرود،
استفاده
میشود.
بهطور
پیشفرض،
از less
استفاده
میشود، و
در صورتی که
less یافت
نشود یا
قابل اجرا
نباشد، به
cat رجوع
میشود.
این مقدار میتواند نام یک دستور ساده یا دستوری همراه با آرگومانها باشد، و ممکن است از نقلقولهای پوسته (بکاسلش، نقلقول تکی یا نقلقول دوگانه) استفاده کند. نمیتوان از لولهها (pipes) برای اتصال چندین دستور استفاده کرد؛ اگر به این کار نیاز دارید، از یک اسکریپت پوششی (wrapper script) استفاده کنید که میتواند پرونده را جهت نمایش، چه به صورت آرگومان و چه از طریق ورودی استاندارد دریافت کند.
- MANLESS
- اگر $MANLESS تنظیم شده باشد، مقدار آن به عنوان رشته اعلان پیشفرض برای صفحهبند less استفاده خواهد شد، گویی با استفاده از گزینه -r ارسال شده است (بنابراین هر تکرار از متن $MAN_PN به همان شیوه بسط خواهد یافت). برای مثال، اگر میخواهید رشته اعلان را بدون قید و شرط روی “my prompt string” قرار دهید، $MANLESS را تنظیم کنید به ‘-Psmy prompt string’. استفاده از گزینه -r این متغیر محیطی را لغو میکند.
- BROWSER
- اگر $BROWSER تنظیم شده باشد، مقدار آن فهرستی از دستورها است که با دونقطه (:) از هم جدا شدهاند؛ هر یک از آنها به نوبت برای تلاش جهت راهاندازی مرورگر وب استفاده میشود برای man --html. در هر دستور، %s با نام پروندهای حاوی خروجی HTML از groff, جایگزین میشود، %% با یک علامت درصد تکی (%)، و %c با یک دونقطه (:) جایگزین میگردد.
- SYSTEM
- اگر $SYSTEM تنظیم شده باشد، همان تأثیری را خواهد داشت که گویی به عنوان آرگومان برای گزینه -m مشخص شده است.
- MANOPT
- اگر $MANOPT تنظیم شده باشد، پیش از خط فرمان man's تجزیه میشود و انتظار میرود که در قالبی مشابه باشد. از آنجا که سایر متغیرهای محیطی ویژه man همگی میتوانند به عنوان گزینههای خط فرمان بیان شوند و بنابراین نامزد گنجانده شدن در $MANOPT هستند، انتظار میرود که منسوخ گردند. نکته: تمام فاصلههایی که باید به عنوان بخشی از آرگومان یک گزینه تفسیر شوند، باید گریز داده شوند.
- MANWIDTH
- اگر $MANWIDTH تنظیم شده باشد، از مقدار آن به عنوان طول خطی که صفحات راهنما باید برای آن قالببندی شوند استفاده میشود. اگر تنظیم نشده باشد، صفحات راهنما با طول خط متناسب با ترمینال فعلی قالببندی خواهند شد (با استفاده از مقدار $COLUMNS، و ioctl(2) در صورت وجود، یا بازگشت به ۸۰ نویسه در صورتی که هیچکدام در دسترس نباشند). صفحات cat تنها زمانی ذخیره خواهند شد که بتوان از قالببندی پیشفرض استفاده کرد، یعنی زمانی که طول خط ترمینال بین ۶۶ تا ۸۰ نویسه باشد.
- MAN_KEEP_FORMATTING
- بهطور معمول، هنگامی که خروجی به یک ترمینال هدایت نمیشود (مانند هدایت به یک پرونده یا یک لوله)، نویسههای قالببندی حذف میشوند تا خواندن نتیجه بدون ابزارهای ویژه آسانتر شود. با این حال، اگر $MAN_KEEP_FORMATTING روی هر مقدار غیرخالی تنظیم شده باشد، این نویسههای قالببندی حفظ میشوند. این ویژگی ممکن است برای برنامههای پوشانندهٔ man که میتوانند نویسههای قالببندی را تفسیر کنند، مفید باشد.
- MAN_KEEP_STDERR
- بهطور معمول، هنگامی که خروجی به یک ترمینال هدایت میشود (معمولاً به یک صفحهبند)، هرگونه خروجی خطای دستوری که برای تولید نسخههای قالببندیشدهٔ صفحات راهنما استفاده میشود دور ریخته میشود تا از تداخل با نمایش صفحهبند جلوگیری شود. برنامههایی مانند groff اغلب پیامهای خطای نسبتاً جزئی دربارهٔ مشکلات نگارشی و تایپوگرافی مانند تراز نامناسب تولید میکنند که ناخوشایند هستند و هنگام نمایش همراه با صفحهٔ راهنما معمولاً گیجکننده خواهند بود. با این حال، برخی کاربران مایلند آنها را در هر صورت ببینند، بنابراین اگر $MAN_KEEP_STDERR روی هر مقدار غیرخالی تنظیم شود، خروجی خطا طبق معمول نمایش داده خواهد شد.
- MAN_DISABLE_SECCOMP
- در لینوکس، man بهطور معمول زیرفرآیندهایی را که دادههای نامطمئن را مدیریت میکنند با استفاده از یک سندباکس seccomp(2) محدود میکند. این امر اجرای کدهای پیچیدهٔ تجزیه را روی صفحات راهنمای دلخواه امنتر میسازد. اگر این کار به دلیلی نامرتبط با محتوای صفحهٔ در حال نمایش با مشکل مواجه شود، میتوانید $MAN_DISABLE_SECCOMP را روی هر مقدار غیرخالی تنظیم کنید تا سندباکس غیرفعال شود.
- PIPELINE_DEBUG
- اگر متغیر محیطی $PIPELINE_DEBUG روی "1" تنظیم شده باشد، man پیامهای اشکالزدایی توصیفکننده هر زیرفرایندی را که اجرا میکند در خروجی خطای استاندارد چاپ خواهد کرد.
- LANG, LC_MESSAGES
- بسته به سیستم و پیادهسازی، یکی یا هر دوی $LANG و $LC_MESSAGES برای تنظیمات محلی فعلی پیامها بررسی خواهند شد. man پیامهای خود را در آن تنظیمات محلی (در صورت در دسترس بودن) نمایش خواهد داد. برای جزئیات دقیق، setlocale(3) را ببینید.
فایلها (FILES)
- /etc/man_db.conf
- فایل پیکربندی man-db.
- /usr/share/man
- یک سلسلهمراتب سراسری از صفحات راهنما.
استانداردها (STANDARDS)
POSIX.1-2001, POSIX.1-2008, POSIX.1-2017.
همچنین ببینید (SEE ALSO)
apropos(1), groff(1), less(1), manpath(1), nroff(1), troff(1), whatis(1), zsoelim(1), manpath(5), man(7), catman(8), mandb(8)
مستندات برخی از بستهها ممکن است در قالبهای دیگری مانند info(1) یا HTML در دسترس باشد.
تاریخچه (HISTORY)
1990, 1991 – در ابتدا توسط John W. Eaton (jwe@che.utexas.edu) نوشته شد.
23 دسامبر 1992: Rik Faith (faith@cs.unc.edu) رفع باگهای ارائهشده توسط Willem Kasdorp (wkasdo@nikhefk.nikef.nl) را اعمال کرد.
30 آوریل 1994 – 23 فوریه 2000: Wilf. (G.Wilford@ee.surrey.ac.uk) این بسته را با کمک چند فرد متعهد توسعه داده و نگهداری کرده است.
30 اکتبر 1996 – 30 مارس 2001: Fabrizio Polacco <fpolacco@debian.org> این بسته را برای پروژه Debian با کمک تمام جامعه نگهداری کرد و بهبود بخشید.
31 مارس 2001 – تاکنون: Colin Watson <cjwatson@debian.org> اکنون در حال توسعه و نگهداری man-db است.
باگها (BUGS)
https://gitlab.com/man-db/man-db/-/issues
https://savannah.nongnu.org/bugs/?group=man-db
| 2025-05-02 | 2.13.1 |