محمد نصیری
بنیانگذار انجمن تخصصی فناوری اطلاعات ایران ، هکر کلاه خاکستری ، کارشناس امنیت اطلاعات و ارتباطات

کاملترین معرفی روش های دریافت راهنما در لینوکس

استفاده گرفتن از راهنماهای لینوکس یکی از معمول ترین روشهای پیدا کردن نحوه استفاده درست از دستورات لینوکس است. در واقع همه دستورات لینوکس برای خودشان یک راهنمای استفاده جداگانه و مختص خودشان دارند . هر چند که همچنان بهترین روش پیدا کردن کمک و راهنمایی در لینوکس استفاده از جستجو در گوگل است .

دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران

اما ما در این مقاله می خواهیم به روشهای مختلف استفاده از فایل های راهنما در لینوکس و دستورات مرتبط با آنها اشاره کنیم. در این مقاله من ، محمد نصیری ، کارشناس امنیت سایبری و متخصص لینوکس به شما به ساده ترین شکل ممکن ، نحوه استفاده از این دستورات را به همراه مثال آموزش می دهم پس تا انتها با من باشید.

چرا به گرفتن کمک و راهنما در لینوکس نیاز داریم؟

لینوکس و کار کردن با دستورات آن بسیار فرار است. شما هر چقدر هم که حرفه ای باشید نمی توانید ادعا کنید که همه سویچ ها و آپشن های دستورات را به همراه کاربرد و مثال های مختلف آن بلد هستید. به همین دلیل در کنار هر دستور و برای درک بهتر نحوه استفاده از آن ، فایل های راهنما یا Manual و روشهای متنوعی برای یادگیری دستورات وجود دارد که بدون نیاز به داشتن اینترنت و بصورت آفلاین هم قابل استفاده هستند. حتی حرفه ای ها هم باید بتوانند از این دستورات و فایل های راهنما به درستی استفاده کنند و این هیچ ربطی به حرفه ای بودن یا نبودن ندارد. برخی اوقات ممکن است شما هیچ دسترسی به اینترنت برای جستجو نداشته باشید.


نکته بسیار مهم : راهنمایی و Manual ها ممکن است در توزیع های مختلف لینوکس متفاوت باشند

 

استفاده از دستور whatis ( این چیه ؟)

ساده ترین و البته اولین دستوری که شما برای گرفتن راهنما در لینوکس نیاز دارید دستور whatis است. این دستور در یک خط بصورت خیلی ساده به شما توضیح می دهد که کاربرد این دستور چیست. دستور whatis دارای یک بانک یا دیتابیس اطلاعاتی نیست و اطلاعات خودش را از SECTION 1 فایل Manual یا راهنمای لینوکس دریافت می کند که بعدا به آن اشاره خواهیم کرد. برای مثال دستور زیر به شما می گوید کار دستور whatis  چیست :

unity@tosinso-suse:~> whatis whatis
whatis (1)           - display one-line manual page descriptions

دستور whatis در لینوکس

اگر دستورهای whatis و یا apropos در لینوکس کار نکردند ، یکی از روشها استفاده از دستور makewhatis  با سویچ u برای به روز رسانی دیتابیس whatis است.

استفاده از دستور whereis ( این کجاست؟ )

دستور whereis در لینوکس همانطور که از اسمش هم پیداست ، محل قرارگیری فایل اجرایی دستور مورد نظر را نمایش می دهد و در عین حال اگر فایل سورس کد ، فایل های manual یا راهنما هم برای آن دستور وجود داشته باشد ، آنها را نیز نشان می دهد. برای مثال در زیر ما دستور whereis را برای دستور ping استفاده کرده ایم :

unity@tosinso-suse:~> whereis ping
ping: /usr/bin/ping /bin/ping /usr/share/man/man8/ping.8.gz

آموزش دستور whereis در لینوکس

استفاده از دستور apropos (هر چی راهنما با این کلیدواژه)

دستور apropos در لینوکس برای جستجو کردن در فایل های راهنما یا Manual ها است. خروجی دستور apropos ممکن است بسته به دستوری که شما می خواهید از آن خروجی بگیرید کوتاه یا زیاد باشد. دستور apropos به شما هر فایل manual ای که چیزی در مورد دستور مورد نظر شما در آن وجود داشته باشد را برای شما لیست می کند. برای مثال برای دستور ping برای شما هر فایل manual ای که در کل سیستم چیزی در مورد ping در آن آمده باشد را لیست می کند . به خروجی دستور زیر توجه کنید :

unity@tosinso-suse:~> apropos ping

arping (8)           - send ARP REQUEST to a neighbour host
ausyscall (8)        - a program that allows mapping syscall names and numbers
blkmapd (8)          - pNFS block layout mapping daemon
break (n)            - Abort looping command
cifs.idmap (8)       - Userspace helper for mapping ids for Common Internet File System (CIFS)
cpupower-powercap-info (1) - Shows powercapping related kernel and hardware configurations
wctrans (3)          - wide-character translation mapping
wctrans (3p)         - define character mapping
wctype.h (0p)        - wide-character classification and mapping utilities
wmemmove (3p)        - copy wide characters in memory with overlapping areas
xfs_bmap (8)         - print block mapping for an XFS file
XML::Dumper (3pm)    - Perl module for dumping Perl objects from/to XML
xmodmap (1)          - utility for modifying keymaps and pointer button mappings in X

دستور apropos در لینوکس

همانطور که در خروجی apropos ping مشاهده می کنید ، هر فایل Manual ای که در آن اسمی از ping آورده شود برای شما لیست می شود. نکته مهم در خصوص خروجی دستور apropos این است که بصورت پیشفرض هر چیزی که شامل متن دستور ما باشد را نمایش می دهد. برای مثال اگر شما apropos ping را بزنید هر Manual ای که در آن کلمه ping باشد را نمایش می دهد. مثلا در خروجی دستور بالا همانطور که مشاهده می کنید کلمه mapping که هیچ ارتباطی به دستور ping ندارد هم در خروجی نمایش داده شده است.

استفاده از دستور man (اصل فایل راهنما رو باز کن )

دستور اصلی استفاده از راهنماهای دستورات لینوکس قطعا man است. دستور man مخفف manual یا ترجمه آن راهنمای دستور است. این دستور از یک بانک اطلاعاتی که برنامه نویس دستور مورد نظر آن را تکمیل کرده است اطلاعات مربوط به راهنمای دستورات را در قالب مشخصی می خواند و به شما نمایش می دهد. اطلاعاتی که در خروجی دستور man نمایش داده می شود بسیار مفصل و کامل است و تقریبا هر چیزی که برنامه نویس آن محصول نیاز داشته تا مخاطب از برنامه بدانید در آن وارد شده است. قالب نمایش اطلاعات در فایل های manual به این شکل طبقه بندی می شوند :

  • NAME : نام دستور مورد نظر
  • SYNOPSE : ترجمه خلاصه داستان ، یعنی شکل کلی کار کردن با دستور
  • DESCRIPTION : توضیحات در مورد دستور
  • OPTIONS : گزینه های مختلف کار با دستور
  • EXIT STATUS : همه دستورات ندارند ( شرایط خارج شدن از دستور )
  • RETURN VALUES " همه دستورات ندارند ( مقادیر بازگشتی )
  • ERRORS : خطاهای دستور
  • FILES : فایل های مورد استفاده در این دستور
  • VERSIONS : معرفی نسخه های مختلف دستور تا کنون
  • EXAMPLES : نمونه مثالهایی از استفاده از دستور
  • AUTHORS : نویسندگان یا برنامه نویس های برنامه
  • SEE ALSO : توصیه به مطالعه بیشتر در مورد این ابزار

برنامه نویسی که می خواهد یک فایل manual ایجاد کند باید این ترتیب و این قالب نگارش را برای manual خود رعایت کند. در ادامه مثال هایی برای دستور man را برای شما آورده ایم :

tosinso-suse:~ #man ls
tosinso-suse:~ #man –k ( apropos )
tosinso-suse:~ #man –k ping
tosinso-suse:~ #man echo
tosinso-suse:~ #man ping

به غیر از دستور man –k ping که معادل دستور apropos ping است ، سایر دستوراتی که در بالا گفتیم برای شما فایل Manual دستور مورد نظر را باز می کنند تا از داخل آن بتوانید دستور مورد نظر را با مثال یاد بگیرید. اما فایل های man دارای یک قالب برای درک بهتر نحوه نگارش دستورات هستند که در در خصوص آنها صحبت می کنیم :

  • متن برجسته : دقیقا به همین شکل باید وارد شود
  • متن کج شده یا ایتالیک : با یک آرگومان باید جایگزین شود
  • حروف داخل براکت [-abc] : آرگومان ها بصورت انتخابی هستند ( Optional )
  • استفاده از پایپ بین آرگومان ها یا مثلا –a|-b : نمی توانند در کنار هم استفاده شوند

آموزش man در لینوکس

استفاده از دستور info ( به روزرسانی man با لینک سازی )

با توجه به اینکه مکانیزم کاری دستور man و قالبی که دارد برای سیستم عامل unix قدیمی است و خیلی از محدودیت هایی که این روزها مستندات ندارند را دارد ، یک سیستم جدید مشاهده و مدیریت مستندات راهنمای نرم افزارها به نام صفحات اطلاعات یا info page به دستورات لینوکس اضافه شد.

در واقع دستور info خلاها و مشکلاتی که در دستور man بود را پوشش داده است. از مهمترین تفاوت های man و info می توان به امکان استفاده از Hyperlink در راهنما و همچنین استفاده از Node ها برای بالا و پایین رفتن در راهنماها نام برد. فایل های info در قالب Node ها و Level ها طبقه بندی و سازمان دهی می شوند و بسیار برای خواندن مرتب و منظم هستند.

چیزی شبیه به EBook هایی که میخوانیم.برخی از دستورات لینوکس فاقد صفحات Manual هستند و یا صفحات ناقصی دارند. دستور info که مشخصا مخفف دستور information یا اطلاعات است اطلاعات به مراتب تر و تمیزتری به نسبت دستور man در اختیار شما قرار می دهد. به جای صفحات man یا در کنار انها صفحات مستندات یا Documents هم وجود دارند.

دستور info خروجی اطلاعات مستندات را به شکلی روان و ساده با قابلیت لینک سازی بین صفحات به شما ارائه می دهد. دستور info در واقع قالب نمایشی خاص خودش را دارد و به سادگی در نمایش اطلاعات معروف است. این دستور محبوبیت دستور man را ندارد اما از نظر من بسیار جذابتر از man است.

توجه کنید که در بسیاری اوقات ممکن است خروجی دستور info با خروجی دستور man تفاوتی نداشته باشد ، چون فایل منبع یکسان است. اما امکان کلیک کردن بر روی سکشن های مختلف راهنما از جمله تغییراتی است که در قالب خروجی دستور info وجود دارد. نحوه استفاده از دستور info بسیار ساده است. همانند دستور زیر کافیست ابتدا کلمه info و سپس نام دستور مورد نظر را وارد کنید :

unity@tosinso-suse:~> info ping
  • بالا و پایین رفتن با کلیدهای جهت دار
  • امکان انتخاب کردن لینک ها با Enter و کلیک موس
  • کلید U یک سطح بالاتر می برد
  • کلید N یک سطح پایینتر می رود
  • کلید Q برای خارج شدن است

استفاده از دستور help ( خلاصه جذاب )

یکی از ساده ترین و البته بهترین راهکارهای به دست آوردن اطلاعات در خصوص یک دستور در لینوکس ، استفاده از دستور help یا کمک است. دستور help یک دستور از پیش نصب شده در لینوکس است و نیازی به نصب کردن آن نیست . دستور help براحتی مستندات داخلی دستورات دیگر را جمع می کند و به شکلی ساده نمایش می دهد. این دستور خیلی برای صرفه جویی در زمان عالیست و شما را اکثرا به خواسته خود از راهنمای دستورات ، خیلی سریع می رساند. این دستور سه سویچ یا آپشن جالب دارد که در ادامه عنوان می کنیم :

  • help –d = خلاصه توضیحات دستور
  • help –m = اطلاعاتی که وجود داره رو تقریبا شبیه خروجی دستور man نشون میده
  • help –s = ساختار یا syntax انجام دستور رو می نویسه
tosinso-suse:~ # help –d pwd
tosinso-suse:~ # help –m pwd
tosinso-suse:~ # help –s pwd

آموزش دستور help در لینوکس

آموزش دستور help در لینوکس

توجه کنید که ممکن است برخی دستورات اصلا ماهیت help را نداشته باشند ،  برای مثال echo –help قابل اجرا نیست یا در برخی توزیع ها اطلاعاتی در این بخش قرار ندارد.

استفاده از دستور less ( کم کاربرد اما خاص )

دستور less را می توان یک دستور تقریبا قدیمی و تا حدودی منسوخ شده در لینوکس برای استفاده در راهنما استفاده کرد. این دستور این روزها کمتر بصورت مستقیم استفاده می شود و درون دستور man مورد استفاده قرار می گیرد. به زبان ساده تر دستور man از برنامه less برای نمایش دادن محتویات اطلاعات خودش استفاده می کند.در دوره آموزش لینوکس اسنشیالز در خصوص دستورات راهنما بصورت مفصل صحبت کرده ایم که می توانید به دوره آموزش لینوکس Essentials خودم در توسینسو مراجعه کنید.

آموزش لینوکس

این دستور less است که درون دستور man قرار گرفته است و امکان حرکت کردن شما درون یک فایل مستند و راهنما را می دهد. بد نیست بدانید در قدیم دستوری به نام more وجود داشت که این روزها دیگر چنین چیزی کمتر در توزیع های جدید لینوکس دیده می شود. less جایگزین more شده است با امکانات بیشتر !!! دستور less به شما امکان مشاهده یک صفحه در لحظه را می دهد. به مثال زیر توجه کنید :

tosinso-suse:~ # man less

آموزش دستور help لینوکس

  • نمایش صفحه به صفحه به سمت پایین با کلید Space
  • نمایش صفحه به صفحه به سمت بالا با کلیدهای CTRL+V Space
  • رفتن به انتهای فایل راهنما با SHFT+G
  • کلید بالا برای یک خط بالا رفتن
  • کلیدهای ESC+V یک صفحه بالا
  • رفتن به ابتدای فایل راهنما با کلید G
  • نوشتن /OPTIONS و پیدا کردن قسمت گزینه ها
  • کلید N نقش بعدی بعدی در سکشن ها دارد
  • کلید Q برای خارج شدن

در مثال بالا ما از دستور man استفاده کردیم ولی در واقع این less است که محتویات راهنمای خودش را باز کرده است. یه نکته مهم در استفاده از راهنماهای لینوکس این است که این راهنماها نصب می شوند ، به روز رسانی می شوند و با آپدیت کردن دستگاه و سیستم عامل و ... آنها نیز اپدیت می شوند. معمولا در قالب فایل های فشرده سازی شده در قسمت مستندات لینوکس نگهداری می شوند . یکی دیگر از کاربردهای دستور less این است که این فایل های فشرده را می تواند به شما نمایش بدهد ، کاری که ادیتورهای معمولی قادر به انجام آن نیستند.  برای درک بهتر این موضوع مراحل زیر را انجام دهید :

unity@tosinso-ubuntu: cd /usr/share/doc/python
unity@tosinso-ubuntu: cat python-policy-dbk.gz
unity@tosinso-ubuntu: less  python-policy-dbk.gz

دستور less لینوکس

دستور cat در لینوکس

----------------------------

آموزش دستور less لینوکس

دایرکتوری های /usr/doc و /usr/share/doc حاوی مستدات مربوط به هر برنامه هستند که شما با دستورهای ادیتورها نمی توانید محتویات فایلهای zip شده را مشاهده کنید. اما همانطور که در مثال بالا مشاهده کردید ، شما می توانید با استفاده از دستور less محتویات فایل های zip مربوط به راهنماها را نیز باز کنید. امیدوارم مورد توجه شما عزیزان قرار گرفته باشد.

  • منظور از راهنما در لینوکس چیست؟

    تقریبا همه چیز در لینوکس در دستورات خط فرمان خلاصه می شود ، هر دستور برای خودش یک راهنمای استفاده دارد که به شکل های مختلف وجود دارد ، گرفتن راهنمایی در لینوکس ، یعنی توانایی پیدا کردن مثالها و نحوه کار دستورات مختلف با استفاده از فایل های راهنما که معمولا قالب های خاص خودشان را دارند.
  • دستورات راهنمایی در لینوکس کدامند؟

    معروف ترین دستورات لینوکس برای گرفتن راهنما عبارتند از : دستور whatis ، دستور whereis ، دستور help ، دستور man ، دستور less ، دستور apropos و دستور info هستند.

محمد نصیری
محمد نصیری

بنیانگذار انجمن تخصصی فناوری اطلاعات ایران ، هکر کلاه خاکستری ، کارشناس امنیت اطلاعات و ارتباطات

محمد نصیری هستم ، هکر قانونمند و کارشناس امنیت سایبری ، سابقه همکاری با بیش از 50 سازمان دولتی ، خصوصی ، نظامی و انتظامی در قالب مشاور ، مدرس و مدیر پروژه ، مدرس دوره های تخصص شبکه ، امنیت ، هک و نفوذ ، در حال حاضر در ایران دیگه رسما فعالیتی غیر از مشاوره انجام نمیدم و مقیم کشور ترکیه هستم ، عاشق آموزش و تدریس هستم و به همین دلیل دوره های آموزشی که ضبط می کنم در دنیا بی نظیر هستند.

نظرات