terminal:m:man-cammand-display-a-program_s-manual-page
تفاوتها
تفاوت دو نسخهٔ متفاوت از صفحه را مشاهده میکنید.
نگارش بعد | نگارش قبل | ||
terminal:m:man-cammand-display-a-program_s-manual-page [2019/02/08 13:00] – ایجاد شد phoenix | terminal:m:man-cammand-display-a-program_s-manual-page [2019/02/08 20:29] (فعلی) – [جستجو در صفحات راهنما] phoenix | ||
---|---|---|---|
خط 1: | خط 1: | ||
====== دستور man (دریافت راهنمای دستورات) ====== | ====== دستور man (دریافت راهنمای دستورات) ====== | ||
- | اگر فکر میکنید که برای کار کردن با لینوکس باید تمامی دستورات لینوکس را با تمامی جزئیات یاد داشته باشید مطمئنا یادگیری لینوکس میتواند خیلی سخت باشد. اما لینوکس دارای یک دستور مفید برای یادآوری تمامی اجزاء دستورات دیگر و همچنین یادگیری آن دستورات هم هست. این دستور **man** نام دارد و که از سرنام **manual** به معنای راهنما گرفته شده است. \\ استفاده از دستور **man** بسیار ساده است. کافی است **man** را به همراه نام دستور مورد نظر خود در خط فرمان بزنید تا صفحه همان دستور برای شما باز شود. اما این صفحه فقط حاوی متن با ساختار خاص خودش است که اگر تازه میخواهید با این راهنماها کار کنید شاید اندکی برای شما سخت باشد. \\ اما دستور **man** برای سبک بندی و همچنین نمایش صفحه راهنمای یک دستور از دستورات لینوکس کاربردی دارد. با هر توزیع از لینوکس این دستور وجود دارد و زمانی که سرویس یا بسته نرم افزاری را روی سرور خود نصب میکنید فایل های راهنمای آن که با دستور **man** قابل فراخوانی شدن هستند روی سرور شما نصب میشود. \\ بیشتر برنامه های اجرایی که به منظور استفاده در خط فرمان ایجاد دشه اند یکسری مستندات با نام صفحه راهنما دارند که **man page** یا همان **manual page** یعنی صفحه راهنما نامیده میشود. این دستور به اینصورت بکار میرود. | + | اگر فکر میکنید که برای کار کردن با لینوکس باید تمامی دستورات لینوکس را با تمامی جزئیات یاد داشته باشید مطمئنا یادگیری لینوکس میتواند خیلی سخت باشد. اما لینوکس دارای یک دستور مفید برای یادآوری تمامی اجزاء دستورات دیگر و همچنین یادگیری آن دستورات هم هست. این دستور **man** نام دارد و که از سرنام **manual** به معنای راهنما گرفته شده است. \\ استفاده از دستور **man** بسیار ساده است. کافی است **man** را به همراه نام دستور مورد نظر خود در خط فرمان بزنید تا صفحه همان دستور برای شما باز شود. اما این صفحه فقط حاوی متن با ساختار خاص خودش است که اگر تازه میخواهید با این راهنماها کار کنید شاید اندکی برای شما سخت باشد. \\ اما دستور **man** برای سبک بندی و همچنین نمایش صفحه راهنمای یک دستور از دستورات لینوکس کاربردی دارد. با هر توزیع از لینوکس این دستور وجود دارد و زمانی که سرویس یا بسته نرم افزاری را روی سرور خود نصب میکنید فایل های راهنمای آن که با دستور **man** قابل فراخوانی شدن هستند روی سرور شما نصب میشود. \\ بیشتر برنامه های اجرایی که به منظور استفاده در خط فرمان ایجاد شده اند یکسری مستندات با نام صفحه راهنما دارند که **man page** یا همان **manual page** یعنی صفحه راهنما نامیده میشود. این دستور به اینصورت بکار میرود. |
+ | < | ||
+ | man < | ||
+ | </ | ||
+ | که در این دستور **program** نام دستوری است که میخواهیم صفحه راهنمای آن را مطالعه کنیم. این صفحات تا اندازه ای در شکل متفاوت هستند ولی بصورت کلی شامل: یک عنوان - یک خلاصه از **syntax** دستور - توضیحی درباره هدف دستور و لیست ها و توضیحات گزینه های دستور است. \\ صفحات راهنما معمولا شامل مثال نیستند چرا؟ \\ چونکه آنها آموزش نیستند بلکه به عنوان یک مرجع برای حرفه ای ها در نظر گرفته شده اند. به عنوان مثال دستور زیر را امتحان کنید: | ||
+ | < | ||
+ | man ls | ||
+ | </ | ||
+ | این دستور نه تنها برای خواندن اطلاعات راهنمای دستورات لینوکس کاربرد دارد بلکه خواندن راهنمای فایل های پیکربندی - فراخوانی سیستم((system calls)) - کتابخانه های زبان برنامه نویسی و هسته سیستم عامل هم بکار میرود. \\ این راهنما برای خیلی ها شاید عجیب و مرموز به نظر برسد. اگر شما هم نگاه اول چنین دیدگاهی را داشته باشید طبیعی است \\ ساختار توضیحات راهنمای یک دستور از سبک خاصی پیروی میکند که سعی میکنم در این آموزش کمی از ساختار دستور **man** را توضیح دهم. \\ ولی همین که اندکی با خروجی دستور **man** آشنا شدید خواهید دید که چقدر راحت تر میتوانید از لینوکس استفاده کنید. چرا که دیگر حتی لازم نیست تک تک اجزاء دستورات را به خاطر بسپارید. \\ فقط کافی است از نتیجه دستور **man** به درستی استفاده کرده و هر زمان که موردی را فراموش کردید سریعا به سراغ دستور **man** بروید. ساختار این دستور به شکل زیر است: | ||
+ | < | ||
+ | man [option(s)] keyword(s) | ||
+ | </ | ||
+ | دستور **man** عمدتا بدون هیچگونه مشخصه ای استفاده میشود. فقط کافی است **man** را به همراه یک فضای خالی و در ادامه نام دستوری که میخواهید راهنمای آن نمایش داده شود وارد کنید. منظور از **keyword** در بالا همان نام دستور مورد مطالبه ماست. \\ خود دستور **man** هم دارای توضیحاتی است که اگر خواسته باشید به این راهنما یا توضیحات دسترسی پیدا کنید باید دستور زیر را بزنید. | ||
+ | < | ||
+ | man man | ||
+ | </ | ||
+ | برای هر دستور دیگری که میخواهید راهنمایش نمایش داده شود باید همین ساختار را بکار ببرید. مثلا با دستور '' | ||
+ | علامت دو نقطه **(:)** که در انتهای صفحه وجود دارد. به این معنا است که این سند دارای ادامه است و شما برای رفتن به صفحه بعدی باید دکمه < | ||
+ | < | ||
+ | LS(1) User Commands | ||
+ | NAME | ||
+ | ls - list directory contents | ||
+ | |||
+ | SYNOPSIS | ||
+ | ls [OPTION]... [FILE]... | ||
+ | |||
+ | DESCRIPTION | ||
+ | | ||
+ | | ||
+ | |||
+ | | ||
+ | |||
+ | -a, --all | ||
+ | do not ignore entries starting with . | ||
+ | |||
+ | -A, --almost-all | ||
+ | do not list implied . and .. | ||
+ | |||
+ | | ||
+ | with -l, print the author of each file | ||
+ | |||
+ | -b, --escape | ||
+ | print C-style escapes for nongraphic characters | ||
+ | |||
+ | | ||
+ | with -l, scale sizes by SIZE when printing them; e.g., ' | ||
+ | |||
+ | -B, --ignore-backups | ||
+ | do not list implied entries ending with ~ | ||
+ | </ | ||
+ | شامل بخش های مختلفی است که هر بخش با یک عنوان بزرگ مشخص شده است. این بخش ها معمولا شامل موارد زیر هستند که تقریبا برای هر دستور وجود دارند. \\ | ||
+ | * NAME | ||
+ | * SYNOPSIS | ||
+ | * DESCRIPTION | ||
+ | * OPTIONS | ||
+ | * AUTHOR | ||
+ | * BUGS | ||
+ | * COPYRIGHT | ||
+ | * HISTORY | ||
+ | * SEE ALSO | ||
+ | هر کدام از این بخش ها هم ممکن است به زیربخش هایی تقسیم شوند مخصوصا بخش **OPTIONS** که همان بخشی است که حاوی مشخصه های دستور مورد نظر است و ما بیشتر با این بخش کار خواهیم داشت. هر مشخصه با نامش در این بخش به همراه توضیحاتش البته به انگلیسی نشان داده میشود. | ||
+ | ===== دسته بندی کلی راهنمای لینوکس ===== | ||
+ | به طور کلی تمامی فایلهای راهنمای لینوکس به ۸ دسته کلی نقسیم میشوند که این نوع دسته بندی پاسخگوی اعدادی است که در جای جای خط فرمان لینوکس داخل دوکمان (پرانتز) نوشته شده است. شاید شما آنها را دیدید. در بالاترین قسمت هر صفحه **MAN** هم (قبل از قسمت **NAME**) یک عدد داخل دوکمان نوشته شده است. \\ این همان دسته بندی کلی آن دستور در سیستم لینوکس است. هر عدد نمایانگر یک نوع از این دسته بندی است: | ||
+ | * **User Commands** : بیشتر دستورات در این دسته قرار میگیرند | ||
+ | * **System Calls** : همان فراخوانی های سیستمی هستند | ||
+ | * **C Library Functions** : تابع های مربوط به کتابخانه زبان برنامه نویسی C است. | ||
+ | * **Devices and Special Files** : پرونده های مربوط به سخت افزارها و فایل های خاص | ||
+ | * **File Formats and Conventions** : قواعد و سبک پرونده | ||
+ | * **Game et. A1** : بازی ها | ||
+ | * **Miscellanea** : موارد متفرقه | ||
+ | * **System Administration tools and Daemons** : ابزارهای مدیریتی سیستم | ||
+ | همانطور که اشاره شد راهنمایی که دستور **man** نمایش میدهد به بخش هایی تقسیم میشود و فقط دستورات کاربر را پشتیبانی نمیکنند بلکه دستورات مدیریتی سیستمی - رابط های کاربری برنامه - فرمت های فایل و ... را پشتیبانی میکندو جدول زیر دسته بندی کلی راهنمای صفحات **manual** را توصیف میکند | ||
+ | ^ | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | گاها ما نیاز داریم تا به یک بخش | ||
+ | < | ||
+ | man < | ||
+ | </ | ||
+ | که در اینجا **search term** همان مورد جستجوی ما و **section# | ||
+ | |||
+ | < | ||
+ | man 5 passwd | ||
+ | </ | ||
+ | که در اینصورت صفحه راهنمایی را خواهیم دید که فرمت **etc/ | ||
+ | < | ||
+ | man 2 mount | ||
+ | </ | ||
+ | عدد **۲** که در دستور **man** بالا جاسازی شده است به سیستم میفهماند که شما فایل راهنمای مربوط به [[terminal: | ||
+ | ===== چاپ راهنمای یک دستور داخل یک سند ===== | ||
+ | حالا شاید خواسته باشید کل محتویات فایل راهنمای یک دستور را داخل یک سند ذخیره کنید. برای این منظور ما از قابلیت Piping (|) در لینوکس استفاده میکنیم . \\ این قابلیت به ما اجازه میدهد که خروجی یک دستور را به دستور دیگری منتقل کنیم این دستور بدین صورت است: | ||
+ | < | ||
+ | man ls|col -b> ls.txt | ||
+ | </ | ||
+ | '' | ||
+ | اما روش جالب دیگری که وجود دارد این است که کل محتویات فایل راهنمای یک دستور را داخل یک فایل با پسوند **pdf** ذخیره کنیم برای این منظور ابزاری به نام **ps2pdf** در **shell** بصورت پیش فرض تعبیه شده است که میتوانیم برای این منظور از دستور زیر استفاده نماییم. | ||
+ | < | ||
+ | man -t < | ||
+ | </ | ||
+ | به عنوان مثال من قصد دارم تا از راهنمای [[terminal: | ||
+ | < | ||
+ | man -t rm | ps2pdf - rm.pdf | ||
+ | </ | ||
+ | ===== جستجو در صفحات راهنما ===== | ||
+ | فرض کنید دنبال راهنمایی میگردید که مربوط به floppy باشد پس با گزینه k این کار را انجام میدهیم | ||
+ | |||
+ | < | ||
+ | man -k floppy | ||
+ | fd (4) - floppy disk device | ||
+ | fdformat (8) - low-level format a floppy disk | ||
+ | mbadblocks (1) - tests a floppy disk, and marks the bad blocks in the FAT | ||
+ | mformat (1) - add an MSDOS filesystem to a low-level formatted floppy disk | ||
+ | </ | ||
+ | فیلد اول در هر خط خروجی نام صفحه راهنماست و فیلد دوم نشان دهنده بخش مورد نظر است | ||
+ | دستورات مشابه این دستور \\ | ||
+ | [[terminal: | ||
+ | [[terminal: | ||
+ | [[terminal: | ||
+ | [[terminal: | ||
+ | [[terminal: | ||
+ | [[terminal: | ||
+ | [[terminal: |
terminal/m/man-cammand-display-a-program_s-manual-page.1549618222.txt.gz · آخرین ویرایش: 2019/02/08 13:00 توسط phoenix