اگر فکر میکنید که برای کار کردن با سرور لینوکس باید تمامی دستورات لینوکس را با تمامی جزئیات یاد داشته باشید، مطمئناً یادگیری لینوکس میتواند خیلی سخت باشد. اما لینوکس دارای یک دستور بسیار مفید برای یادآوری تمامی اجزاء دستورات دیگر و همچنین یادگیری آن دستورات هم هست. این دستور man نام دارد و که از سرنام manual به معنای راهنما گرفته شده است. استفاده از دستور man بسیار ساده است. کافی است man را به همراه نام دستور مورد نظر خود در خط فرمان بزنید تا صفحۀ راهنمای همان دستور برای شما باز شود. اما این صفحه فقط حاوی متن با ساختار خاص خودش است که اگر تازه میخواهید با این راهنماها کار کنید، شاید اندکی برای شما سخت باشد.
در آموزش قبلی با افزودن کاربر در سرور لینوکس آشنا شدیم. اما دستور man برای سبک بندی و همچنین نمایش صفحۀ راهنمای یک دستور از دستورات لینوکس کاربرد دارد. با هر توزیع از لینوکس، این دستور وجود دارد و زمانی هم که سرویس یا بستۀ نرم افزاری را روی سرور خود نصب میکنید، پروندههای راهنمای آن که با دستور man قابل فراخوانی شدن هستند روی سرور شما نصب میشود.
این دستور نه تنها برای خواندن اطلاعات راهنمای دستورات لینوکس کاربرد دارد، بلکه خواندن راهنمای پروندههای پیکربندی، فراخوانیهای سیستم (System Calls)، کتابخانههای زبانهای برنامه نویسی و هستۀ سیستم عامل هم به کار میرود. این راهنمای برای خیلیها شاید عجیب و مرموز به نظر برسد. اگر شما هم در نگاه اول چنین دیدگاهی را داشته باشید، طبیعی است. ساختار توضیحات راهنمای یک دستور از سبک خاصی پیروی میکند. که سعی میکنم در این صفحه کمی از ساختار دستور man را توضیح دهم.
ولی همین که اندکی با خروجی دستور man آشنا شدید، خواهید دید که چقدر راحتتر میتوانید از لینوکس استفاده کنید. چرا که دیگر حتی لازم نیست تک تک اجزاء دستورات را به خاطر بسپارید. فقط کافی است از نتیجۀ دستور man به درستی استفاده کرده و هر زمان که موردی را فراموش کردید، سریعاً به سراغ دستور man بروید. ساختار این دستور به شکل زیر است:
man [option(s)] keyword(s)
دستور man عمدتاً بدون هیچ گونه مشخصهای استفاده میشود. فقط کافی است man را به همراه یک فضای خالی و در ادامه نام دستوری که میخواهید راهنمای آن نمایش داده شود وارد کنید. منظور از keyword در بالا همان نام دستور مورد مطالبۀ ماست. خود دستور man هم دارای توضیحاتی است که اگر خواسته باشید به این راهنما یا توضیحات دسترسی پیدا کنید، باید دستور زیر را بزنید.
man man
برای هر دستور دیگری که میخواهید راهنمایش نمایش داده شود باید همین ساختار را به کار ببرید. مثلاً با دستور man ls میتوانید راهنما و توضیحات دستور ls که مربوط به فهرست کردن محتویات یک مسیر است را ببینید. این راهنما بسیار دقیق است. به طوری که اگر تمام جزئیات خروجی این راهنما را درک کنید، به راحتی میتوانید یک خط فرمان کار حرفهای گردید.
دستور man به صورت خودکار نتیجه را به pager عمدتاً دستور less ارسال میکند. pager نام یک نوع برنامه است که خروجی متنی یک پرونده را طوری نشان میدهد که شما میتوانید با دستوری به صفحات قبلی و بعدی بروید. در این جا Pager ما برنامۀ less است که برای نمایش محتویات یک پرونده هم از آن استفاده میشود. پس با این توضیحات تا زمانی که نتیجۀ دستور man برای شما در پنجرۀ پایانه باز است، شما نمیتوانید دستور دیگری از لینوکس را بزنید. مگر اینکه با q از راهنمای دستور خارج شوید.
علامت دو نقطه (:) که در انتهای صفحه وجود دارد، به این معنا است که این سند دارای ادامه است و شما برای رفتن به صفحۀ بعدی باید دکمۀ Space را از صفحه کلید بزنید. برای رفتن به صفحۀ قبلی هم باید از b استفاده کنید. البته دکمههای جهت نمای بالا و پایین هم این کار را به صورت سطر به سطر انجام خواهند داد.
حالا میرویم سراغ خود محتوای صفحۀ man. یک نمونه از نتیجۀ این دستور را در تصویر بالا میبینید. شامل بخشهای مختلفی است که هر بخش با یک عنوان بزرگ مشخص شده است. این بخشها معمولاً شامل موارد زیر هستند که تقریباً برای هر دستوری وجود دارند.
- 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 – قواعد و سبک پرونده
- Games et. Al. – بازیها
- Miscellanea – موارد متفرقه
- System Administration tools and Deamons – ابزارهای مدیریتی سیستم
فرض کنید برخی از دستورات هستند که با یک نام در جاهای مختلفی استفاده میشوند. مثلاً دستور mount از این نوع دستورات است. این دستور دارای دو نوع مقالۀ راهنما است؛ یکی مربوط به مدیریت سیستم است و دیگری مربوط به زبان برنامه نویسی C است. وقتی شما دستور man mount را در خط فرمان لینوکس میزنید، آن سند نشان داده خواهد شد که بیشتر مورد استفاده قرار گرفته است. اما اگر خواسته باشید دقیقاً به سیستم تفهیم کنید که کدام نوع سند راهنما را میخواهید، باید نوع دسته بندیِ آن سند راهنما که مربوط به دستور mount هست را مشخص کنید. به این صورت:
man 2 mount
عدد ۲ که در دستور man بالا جاسازی شده است، به سیستم میفهماند که شما فایل راهنمای مربوط به دستور mount که مربط به فراخوانیهای سیستم است را میخواهید.
چاپ راهنمای یک دستور داخل یک سند
حالا شاید خواسته باشید کل محتویات پروندۀ راهنمای یک دستور را داخل یک سند ذخیره کنید. برای این منظور ما از قابلیت لوله کشی (!) یا همان Piping در لینوکس استفاده میکنیم. این قابلیت به ما اجازه میدهد که خروجی یک دستور را به دستور دیگری منتقل کنیم. این دستور بدین صورت است:
man pstree | col -b > pstree.txt
man pstree که کاملاً مشخص است چه کار میکند. نتیجه را با | به دستور col میفرستیم که به داخل یک سند آن را ذخیره میکند. نام سند هم pstree.txt است. شما نامش را هر چه بخواهید میتوانید بگذارید. سعی کردم کامل جزئیات دستورات را شرح دهم تا جای سوالی برای کسی باقی نماند. البته باید بدانید برای درک بهتر هر قسمت از آموزش مدیریت سرور لینوکس، به شما توصیه میکنم قسمتهای قبلیاش را حتماً مطالعه بفرمایید. چرا که آموزشها به همدیگر وابسته هستند.
خوب، تا اینجا کاملاً با دستور man از لینوکس هم آشنا شدید که برای یادگیری دستورات لینوکس به ما کمک بسیاری میکرد. البته خروجی این دستور به زبان انگلیسی است. ولی کاملاً ساده و شفاف توضیح داده شده است. به هر حال شاید همین نقطه شروع خوبی برای یادگیری زبان تخصصی رایانه باشد.
۰ دیدگاه