ابزار کاربر

ابزار سایت


terminal:m:man-cammand-display-a-program_s-manual-page

تفاوت‌ها

تفاوت دو نسخهٔ متفاوت از صفحه را مشاهده می‌کنید.

پیوند به صفحه‌ی تفاوت‌ها

نگارش قبل در دو طرفنگارش قبل
نگارش بعد
نگارش قبل
terminal:m:man-cammand-display-a-program_s-manual-page [2019/02/08 15:10] phoenixterminal:m:man-cammand-display-a-program_s-manual-page [2019/02/08 20:29] (فعلی) – [جستجو در صفحات راهنما] phoenix
خط 8: خط 8:
 man ls man ls
 </code>  </code> 
-این دستور نه تنها برای خواندن اطلاعات راهنمای دستورات لینوکس کاربرد دارد بلکه خواندن راهنمای فایل های پیکربندی - فراخوانی سیستم((system calls)) - کتابخانه های زبان برنامه نویسی و هسته سیستم عامل هم بکار میرود. \\ این راهنما برای خیلی ها شاید عجیب و مرموز به نظر برسد. اگر شما هم نکاه اول چنین دیدگاهی را دشاته باشید طبیعی است \\ ساختاز توضیحات راهنمای یک دستور از سبک خاصی پیروی میکند که سعی میکنم در این آموزش کمی از ساختار دستور **man** را توضیح دهم. \\ ولی همین که اندکی با خروجی دستور **man** آشنا شدید خواهید دید گه چقدر راحت تر میتوانید از لینوکس استفاده کنید. چرا که دیگر حتی لازم نیست تک تک اجزاء دستورات را به خاطر بسپارید. \\ فقط کافی است از نتیجه دستور **man** به درستی استفاده کرده و هر زمان که موردی را فراموش کردید سریعا به سراغ دستور **man** بروید. ساختار این دستور به شکل زیر است:+این دستور نه تنها برای خواندن اطلاعات راهنمای دستورات لینوکس کاربرد دارد بلکه خواندن راهنمای فایل های پیکربندی - فراخوانی سیستم((system calls)) - کتابخانه های زبان برنامه نویسی و هسته سیستم عامل هم بکار میرود. \\ این راهنما برای خیلی ها شاید عجیب و مرموز به نظر برسد. اگر شما هم نگاه اول چنین دیدگاهی را داشته باشید طبیعی است \\ ساختار توضیحات راهنمای یک دستور از سبک خاصی پیروی میکند که سعی میکنم در این آموزش کمی از ساختار دستور **man** را توضیح دهم. \\ ولی همین که اندکی با خروجی دستور **man** آشنا شدید خواهید دید که چقدر راحت تر میتوانید از لینوکس استفاده کنید. چرا که دیگر حتی لازم نیست تک تک اجزاء دستورات را به خاطر بسپارید. \\ فقط کافی است از نتیجه دستور **man** به درستی استفاده کرده و هر زمان که موردی را فراموش کردید سریعا به سراغ دستور **man** بروید. ساختار این دستور به شکل زیر است:
 <code;bash;> <code;bash;>
 man [option(s)] keyword(s) man [option(s)] keyword(s)
خط 16: خط 16:
 man man man man
 </code>  </code> 
-برای هر دستور دیگری که میخواهید راهنمایش نمایش داده شود باید همین ساختار را بکار ببرید. مثلا با دستور ''man ls'' میتوانید راهنما و توضیحات دستور ls که مربوط به فهرست کردن محتویات یک مسیر است را ببینید. این راهنما بسیار دقیق است بطوریکه اگر تمام جزئیات خروجی این راهنما را درک کنید به راحتی میتوانید یک خط فرمان کار حرفه ای گردید. \\ دستور **man** بصورت خودکار نتیجه را به **pager** عمدتا [[terminal:l:using_less_to_view_text_files_at_the_linux_command_line|دستور less]] ارسال میکند. **pager** نام یک نوع برنامه است که خروجی متنی یک پرونده را طوری نشان میدهد که شما میتوانید با دستوری به صفحات قبلی و بعدی بروید. \\ در اینجا **pager** ما برنامه [[terminal:l:using_less_to_view_text_files_at_the_linux_command_line|less]] است کهب رای نمایش محتویات یک پرونده هم از آن استفاده میشود. پس با این توضیحات تا زمانیکه نتیجه دستور **man** برای شما در پنجره **terminal** باز است شما نمیتوانید دستور دیگری از لین.کس را بزنید مگر اینکه با ''q'' از راهنمای دستور خارج شوید. \\+برای هر دستور دیگری که میخواهید راهنمایش نمایش داده شود باید همین ساختار را بکار ببرید. مثلا با دستور ''man ls'' میتوانید راهنما و توضیحات [[terminal:l:ls_command_list_file_and_directory_names_and_attributes|دستور ls]] که مربوط به فهرست کردن محتویات یک مسیر است را ببینید. این راهنما بسیار دقیق است بطوریکه اگر تمام جزئیات خروجی این راهنما را درک کنید به راحتی میتوانید یک خط فرمان کار حرفه ای گردید. \\ دستور **man** بصورت خودکار نتیجه را به **pager** عمدتا [[terminal:l:using_less_to_view_text_files_at_the_linux_command_line|دستور less]] ارسال میکند. **pager** نام یک نوع برنامه است که خروجی متنی یک پرونده را طوری نشان میدهد که شما میتوانید با دستوری به صفحات قبلی و بعدی بروید. \\ در اینجا **pager** ما برنامه [[terminal:l:using_less_to_view_text_files_at_the_linux_command_line|less]] است که برای نمایش محتویات یک پرونده هم از آن استفاده میشود. پس با این توضیحات تا زمانیکه نتیجه دستور **man** برای شما در پنجره **terminal** باز است شما نمیتوانید دستور دیگری از لینوکس را بزنید مگر اینکه با ''q'' از راهنمای دستور خارج شوید. \\
 علامت دو نقطه **(:)** که در انتهای صفحه وجود دارد. به این معنا است که این سند دارای ادامه است و شما برای رفتن به صفحه بعدی باید دکمه <key>Space</key> را از صفحه کلید بزنید. برای رفتن به صفحه قبلی هم باید از ''b'' استفاده کنید. البته دکمه های جهت نمای بالا و پایین هم اینکار را بصورت سطر به سطر انجام خواهند داد. \\ حالا میرویم سراغ خود محتوای صفحه **man** که یک نمونه از نتیجه این دستور در زیر میبینید.  علامت دو نقطه **(:)** که در انتهای صفحه وجود دارد. به این معنا است که این سند دارای ادامه است و شما برای رفتن به صفحه بعدی باید دکمه <key>Space</key> را از صفحه کلید بزنید. برای رفتن به صفحه قبلی هم باید از ''b'' استفاده کنید. البته دکمه های جهت نمای بالا و پایین هم اینکار را بصورت سطر به سطر انجام خواهند داد. \\ حالا میرویم سراغ خود محتوای صفحه **man** که یک نمونه از نتیجه این دستور در زیر میبینید. 
 <code;bash;> <code;bash;>
خط 76: خط 76:
 |   ۱     دستورات کاربر   | |   ۱     دستورات کاربر   |
 |   ۲     رابط های برنامه نویسی برای تماس های سیستم هسته   | |   ۲     رابط های برنامه نویسی برای تماس های سیستم هسته   |
-|   ۳     رابط های برنامه نویسی برای کتابخانه <key>C</key>   |+|   ۳     رابط های برنامه نویسی برای کتابخانه **C**   |
 |   ۴     فایل های ویژه مثل **node** های **device** و **driver** ها   | |   ۴     فایل های ویژه مثل **node** های **device** و **driver** ها   |
 |   ۵     فرمان های فایل   | |   ۵     فرمان های فایل   |
خط 91: خط 91:
 man 5 passwd man 5 passwd
 </code>  </code> 
-که در اینصورت صفحه راهنمایی را خواهیم دید که فرمت **etc/passwd/** را توصیف میکند. \\ فرض کنید برخی از دستورات هستند که با یک نام در جاهای مختلف استفاده میشوند مثلا [[terminal:m:mounting_file_systems_mount_command|دستور mount]] از این نوع دستورات است. این دستور دارای دو نوع مقاله راهنما است  \\ یکی مربوط به مدیریت سیستم و دیگری مربوط به زبان برنامه نویسی c است. وقتی شما دستور ''man mount'' را در خط فرمان لینوکس میزنید آن سند نشان داده خواهد شد که بیشتر مورد استفاده قرار گرفته است. \\  اما اگر خواسته باشید دقیقا به سیستم تقهیم کنید که کدام نوع سند راهنما را میخواهید باید نوع دسته بندی آن سند راهنما که مربوط به [[terminal:m:mounting_file_systems_mount_command|دستور mount]] هست را مشخص کنید. به اینصورت:+که در اینصورت صفحه راهنمایی را خواهیم دید که فرمت **etc/passwd/** را توصیف میکند. \\ فرض کنید برخی از دستورات هستند که با یک نام در جاهای مختلف استفاده میشوند مثلا [[terminal:m:mounting_file_systems_mount_command|دستور mount]] از این نوع دستورات است. این دستور دارای دو نوع مقاله راهنما است  \\ یکی مربوط به مدیریت سیستم و دیگری مربوط به زبان برنامه نویسی **c** است. وقتی شما دستور ''man mount'' را در خط فرمان لینوکس میزنید آن سند نشان داده خواهد شد که بیشتر مورد استفاده قرار گرفته است. \\  اما اگر خواسته باشید دقیقا به سیستم تفهیم کنید که کدام نوع سند راهنما را میخواهید باید نوع دسته بندی آن سند راهنما که مربوط به [[terminal:m:mounting_file_systems_mount_command|دستور mount]] هست را مشخص کنید. به اینصورت:
 <code;bash;> <code;bash;>
 man 2 mount man 2 mount
 </code> </code>
 عدد **۲** که در دستور **man** بالا جاسازی شده است به سیستم میفهماند که شما فایل راهنمای مربوط به [[terminal:m:mounting_file_systems_mount_command|دستور mount]] که مربوط به فراخوانی های سیستم است را میخواهید. عدد **۲** که در دستور **man** بالا جاسازی شده است به سیستم میفهماند که شما فایل راهنمای مربوط به [[terminal:m:mounting_file_systems_mount_command|دستور mount]] که مربوط به فراخوانی های سیستم است را میخواهید.
 +===== چاپ راهنمای یک دستور داخل یک سند =====
 +حالا شاید خواسته باشید کل محتویات فایل راهنمای یک دستور را داخل یک سند ذخیره کنید. برای این منظور ما از قابلیت Piping (|) در لینوکس استفاده میکنیم . \\ این قابلیت به ما اجازه میدهد که خروجی یک دستور را به دستور دیگری منتقل کنیم این دستور بدین صورت است:
 +<code;bash;>
 +man ls|col -b> ls.txt
 +</code>
 +''man ls'' که کاملا مشخص است چه کار میکند. نتیجه را با علامت <key>|</key> یا همان **pipe** به دستور **col** میفرستیم که داخل یک سند آن را ذخیره میکند. نام سند هم **ls.txt** است . شما نامش را هر چه بخواهید میتوانید بگذارید.
 +اما روش جالب دیگری که وجود دارد این است که کل محتویات فایل راهنمای یک دستور را داخل یک فایل با پسوند **pdf** ذخیره کنیم برای این منظور ابزاری به نام **ps2pdf** در **shell** بصورت پیش فرض تعبیه شده است که میتوانیم برای این منظور از دستور زیر استفاده نماییم.
 +<code;bash;>
 +man -t <command> | ps2pdf - <file-name>.pdf
 +</code>
 +به عنوان مثال من قصد دارم تا از راهنمای [[terminal:r:deleting-files-rm-command|دستور rm]] یک فایل **pdf** با نام **rm.pdf** ایجاد کنم:
 +<code;bash;>
 +man -t rm | ps2pdf - rm.pdf
 +</code>
 +===== جستجو در صفحات راهنما =====
 +فرض کنید دنبال راهنمایی میگردید که مربوط به floppy باشد پس با گزینه k این کار را انجام میدهیم
 +
 +<code;bash;>
 +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
 +</code>
 +فیلد اول در هر خط خروجی نام صفحه راهنماست و فیلد دوم نشان دهنده بخش مورد نظر است
 +دستورات مشابه این دستور \\
 +[[terminal:a:apropos-command-display-appropriate-commands|دستور apropos (نمایش دستورات مناسب)]] \\
 +[[terminal:i:info-command-display-a-program_s-info-entry|دستور info (نمایش راهنمای دستورات)]] \\
 +[[terminal:w:how-to-find-directory-of-some-command|دستور which ( نمایش موقعیت یک دستور اجرایی )]] \\
 +[[terminal:w:whatis-command-display-a-very-brief-description-of-a-command|دستور whatis ( نمایش اطلاعات مختصر از یک دستور )]] \\
 +[[terminal:h:help-command-get-help-for-shell-builtins|دستور help ( نمایش مستندات دستورات )]] \\
 +[[terminal:t:type-command-display-a-command_s-type|دستور type ( نمایش نوع فرمان )]] \\
 +[[terminal:t:tldr-command-linux-man-pages-simplified|دستور tldr ( صفحات راهنما بصورت ساده و کاربردی )]] \\
terminal/m/man-cammand-display-a-program_s-manual-page.1549626054.txt.gz · آخرین ویرایش: 2019/02/08 15:10 توسط phoenix

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki