menu

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

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

پنجشنبه 15 آبان 1393

باسلام

طبق معمول پنجشنبه ای آمد و در این وقت فراغت، پستی دیگر منتشر شد!

در این پست تصمیم گرفتم یکی دیگر از مطالب آزاد لینوکسی خودم را منتظر کنم و آن هم چیزی نیست جز manual لینوکس یا همان دفترچه ی راهنمای آشنای خودمان

شاید برای شما تا به حال پیش آمده که بخواهید با یک دستور لینوکسی، کاری انجام بدهید ولی ندانید که چطور(و از کدام آپشن ها استفاده کنید) و در این موقع دستور man به دادتان رسیده باشد

اما آیا تا به حال به این فکر کرده اید که manual خود دستور man را هم بخوانید؟

بیایید قبل از این که وارد بررسی خود دستور man بشویم، کلا دفترچه های راهنما در لینوکس را بررسی کنیم

یکی از مزیت های برتر لینوکس نسبت به سایر رقبایش، برخورداری از یک دفترچه راهنمای عظیم و قدرتمند است

البته منظور من این نیست که سایر رقبا، دفترچه ی راهنما ندارند

اما شما کدام ویندوزی را دیده اید که با دفترچه ی راهنمای ویندوز(help) کار کند؟! من که به شخصه ندیده ام

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

قبل از معرفی دفترچه های راهنمای لینوکس، ابتدا بگذارید یک تقسیم بندی ساده از دستورات لینوکسی بکنیم.

در یک تقسیم بندی ساده، دستورات لینوکسی را میتوان در سه گروه جای داد:

1) دستورات داخلی: دستوراتی که خود shell میتواند آن ها را انجام دهد

2) دستورات خارجی: دستوراتی که به هسته و بسته های نرم افزاری و package ها و... ارجاع داده میشود

3) دستورات تابع و نام های مستعار(Alias)

برای مثال، شما سیستم عامل لینوکس را یک رستوران در نظر بگیرید. در این رستوران، یک سر آشپز(هسته) به همراه چند آشپز(بسته های نرم افزاری و...) در حال انجام فعالیت هستند. همچنین این رستوران دارای یک گارسون(shell) نیز هست که سفارشات را از مهمان ها میگیرد.

در این رستوران، شما مهمان هستید. فرض کنید که شما گارسون(shell) را صدا بزنید و از او مقداری نمک بخواهید. این دستور را خود گارسون(shell) نیز میتواند برای شما انجام دهد. او میرود و از میز کناری، یک نمک پاش برای شما می آورد. به این نوع دستورات که خود shell توانایی انجام آن را دارد دستورات داخلی میگویند.

اما گاهی اوقات شما درخواست های پیچیده تری میدهید که گارسون (shell) قادر به انجام آن ها نیست. مثلا درخواست مقداری سیب زمینی سرخ کرده میکنید.

در این حالت گارسون(shell) درخواست شما را به سرآشپز(هسته) و یا آشپز(بسته) های مربوطه می رساند.

به این دستورات، دستور های خارجی میگویند.

دستور های دیگری مانند توابع و یا نام های مستعار که توضیح آن ها، خارج از بحث امروز ماست.

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

type cd
type man
type clear

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

cd is a shell builtin

این خروجی بدین معناست که دستور فوق، یک دستور داخلی است که توسط shell انجام میشود

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

clear is /usr/bin/clear

این خروجی بدین معناست که دستور clear یک دستور خارجی است و محل ذخیره شدن دستور، در آدرس /usr/bin/clear است. یعنی شما با اجرای دستور clear در واقع دستور /usr/bin/clear را اجرا کرده اید.

حال دستور clear را مطابق زیر اجرا کنید.

clear

و سپس دوباره نوع آن (type) را مشاهده کنید.

type clear

شما با خروجی زیر مواجه خواهید شد

clear is hashed (/usr/bin/clear)

این خروجی بدین معناست که شما قبلا از دستور clear استفاده کرده اید و هم اکنون این دستور در حافظه ی موقت ذخیره شده است و برای اجرای دستور، دیگر آن را از /usr/bin/clear اجرا نمیکند، بلکه آن را از حافظه ی موقت خود اجرا میکند.

حال که با انواع دستورات لینوکسی آشنا شدیم، میتوانیم به بررسی دفترچه های راهنمای لینوکسی بپردازیم.

در لینوکس، سه دفترچه راهنمای مهم وجود دارد که میتوانید از آن ها استفاده بکنید

الف) man: که بیشتر برای دستور های خارجی از آن ها استفاده میشود.

ب) help: از این دفترچه ی راهنما، بیشتر برای دستور های داخلی استفاده میشود

ج) info: از این دفترچه نیز بیشتر برای دستور های داخلی استفاده میشود. همچنین مطالب داخل دفترچه ی help و info در بیشتر اوقات یکسان هستند.

حال که با انواع دفترچه های راهنما آشنا شدیم، وقت آن است که با خود دستور man آشنا شویم.

دستوری مانند clear را در نظر بگیرید. شما با وارد کردن دستور زیر، با تصویری مثل تصویر زیر مواجه خواهید شد:

man clear

حال به بررسی تصویر بالا میپردازیم

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

در این قسمت، ابتدا نام آن دستور نوشته شده است و سپس یک عدد در داخل پرانتز نوشته شده است.

عدد نوشته شده، نشان گر نوع دستور است(جدای از دستور های داخلی و خارجی. در این جا، نوع دستور بر اساس کاری که انجام میدهد گروه بندی شده است)

در این گروه بندی، دستورات لینوکسی به 9 گروه دسته بندی میشود.

عدد یک نشان دهنده ی دستور های عمومی مانند همین clear است.

عدد 2 نشان دهنده دستور های system call است. دستور هایی که با استفاده از آن ها، تابع های تهیه شده توسط هسته(kernel) فراخوانی میشود

عدد 3 نشان دهنده ی کتابخانه ها و تابع های مربوط به کتابخانه ها است

عدد 4 نشان دهنده ی فایل های ویژه است که معمولا در دایرکتوری dev قرار دارند

عدد 5 نشان دهنده ی file format هایی مانند /etc/passwd است

عدد 6 نشان دهنده ی بازی ها است. دستور هایی مانند sl در این گروه جای میگیرد

عدد 8 نشان هدنده ی فرمان های راهبر(root) است. دستور هایی که برای اجرای آن ها نیاز به دسترسی ریشه است مانند reboot و shoutdown کردن در این گروه جای میگیرد

عدد 9 نشان دهنده ی دستورات Kernel routines است.

به همان تصویر خودمان بازگردیم

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

در قسمت بعدی، که همان قسمت SYNOPSIS هست، طریقه ی استفاده از این دستور را معرفی میکند که شامل ورودی ها و آرگومان ها و... است.

قسمت بعدی هم که قسمت DESCRIPTION است توضیخ کامل دستور را میدهد. در این قسمت به معرفی کامل دستور به همراه آپشن های آن و کار کرد هر آپشن میپردازد، در این قسمت شما میتوانید با دستور وارد شده به طور کامل آشنا شوید

قسمت بعدی (که در manual مربوط به دستور clear نیست) قسمت EXAMPLE است که چند نمونه دستور در آن قسمت وجود دارد

و در پایان هم قسمتهایی مانند AUTHOR و COPYRIGHT و SEE ALSO وجود دارد که به ترتیب اشاره به نویسندگان این دستور، و کپی رایت های این دستور و چند لینک و ... برای مشاهده ی بیشتر و تاریخ انتشار و ورژن این دستور دارد.

مشاهده میکنید که در یک manual، میتوان چه اطلاعات کاملی را از یک دستور دریافت کرد

برای مثال manual مربوط به دستور date را د ر زیر مشاهده میکنید

همانطور که مشاهده کردید، این دستور برخلاف دستور قبلی، از manual خیلی بیشتری برخوردار است ( که نسبت به کارهایی که میتواند انجام دهد کاملا موجه است)

در این manual برای رفتن به پایین صفحه میتوانید از دکمه های پایین و بالا و یا از دکمه های page up و page down استفاده کنید.

همچنین برای خروج از این manual از دکمه ی q بایستی استفاده کرد

برای جستجوی یک کلمه هم، ابتدا دککمه ی / را زده و سپس متن مورد نظر را برای جستجو وارد کرده و دکمه ی enter را میزنیم. در این حالت با زدن n که مخفف next است کلمه ی بعدی جستجو را نشان میدهد و با زدن دکمه ی ؟ هم کلمه ی قبلی جستجو را نشان میدهد.

برای خروج از حالت جستجو هم دکمه های ctrl + c را میتوان زد.

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

man -a

برای مثال، شما برای مشاهده ی تمامی manual های مربوط به دستور intro میتوانید از کد زیر استفاده کنید

man -a intro

آخرین نکته ی باقی مانده، محل ذخیره سازی manual ها است. manual ها ممکن است در جاهای مختلفی ذخیره شده باشند. اما محل اصلی ذخیره سازی manual ها در دایرکتوری زیر است:

/usr/share/man

و در آخر برای اگر میخواهید با قدرت های عظیم این کتابخانه ی برزگ بیشتر آشنا شوید، دستور زیر را زده و به دقت مطالعه کنید

man man

در پایان امیدوارم که از این مطلب خسته نشده باشید

روز خوشی را داشته باشید

مهدی

منتشر شده در:

ارسال نظر
خوانا نیست؟تعویض کد