دریافت مستندات یک دستور
با دانستن اینکه دستور چیست، حالا میتوانیم مستندات در دسترس برای هر نوع دستور را جستجو کنیم.
help – دریافت کمک برای (دستورات) داخلی شل
bash مجهز به یک قابلیت کمک داخلی برای هر یک از (دستورات) داخلی شل است. برای استفاده از آن، “help” را تایپ کنید و پس از آن نام (دستور) داخلی شل را وارد کنید. اینجا یک مثال هست:
[me@linuxbox ~]$ help cd
cd: cd [-L|[-P [-e]] [-@]] [dir]
Change the shell working directory.
Change the current directory to DIR. The default DIR is the value of the HOME shell variable.
The variable CDPATH defines the search path for the directory containing DIR. Alternative directory names in CDPATH are separated by a colon (:). A null directory name is the same as the current directory. If DIR begins with a slash (/), then CDPATH is not used.
If the directory is not found, and the shell option `cdable_vars' is set, the word is assumed to be a variable name. If that variable has a value, its value is used for DIR.
Options:
-L force symbolic links to be followed: resolve symbolic links in DIR after processing instances of `..'
-P use the physical directory structure without following symbolic links: resolve symbolic links in DIR before processing instances of `..'
-e if the -P option is supplied, and the current working directory cannot be determined successfully, exit with a non-zero status
-@ on systems that support it, present a file with extended attributes as a directory containing the file attributes
The default is to follow symbolic links, as if `-L' were specified. `..' is processed by removing the immediately previous pathname component back to a slash or the beginning of DIR.
Exit Status:
Returns 0 if the directory is changed, and if $PWD is set successfully when -P is used; non-zero otherwise.
یک نکته در مورد نشانهگذاری: هنگامی که براکتهای مربعی در توضیحات سینتکس یک دستور ظاهر میشوند، موارد اختیاری را نشان میدهند. یک کاراکتر خط عمودی، موارد مانعة الجمع (Mutually exclusive) را نشان میدهد. در مورد دستور cd بالا:
cd [-L|[-P[-e]]] [dir]
این نشانهگذاری میگوید دستور cd ممکن است به شکل اختیاری با یک "-L" یا یک "-P" دنبال شود، به علاوه اگر آپشن "-P" مشخص شده باشد، ممکن است آپشن "-e" نیز گنجانده شود و به دنبال آن آرگومان اختیاری "dir" ظاهر شود.
در حالی که خروجی help برای دستور cd مختصر و دقیق است، اما به هیچ وجه آموزشی نیست و همانطور که میبینیم به نظر میرسد بسیاری از مواردی که ما هنوز در مورد آنها صحبت نکردهایم را ذکر کرده است! نگران نباشید. ما به آنجا میرسیم.
--help نمایش اطلاعات استفاده
بسیاری از برنامههای اجرایی از آپشن "--help" پشتیبانی میکنند که شرح سینتکس و آپشنهای پشتیبانی شده دستور را نمایش میدهد. به عنوان مثال:
[me@linuxbox ~]$ mkdir --help
Usage: mkdir [OPTION] DIRECTORY...
Create the DIRECTORY(ies), if they do not already exist.
-Z, --context=CONTEXT (SELinux) set security context to CONTEXT Mandatory arguments to long options are mandatory for short options too.
-m, --mode=MODE set file mode (as in chmod), not a=rwx – umask
-p, --parents no error if existing, make parent directories as needed
-v, --verbose print a message for each created directory
--help display this help and exit
--version output version information and exit
Report bugs to <bug-coreutils@gnu.org>.
برخی برنامه ها از آپشن "--help" پشتیبانی نمیکنند، اما به هر حال آن را امتحان کنید. اغلب منجر به پیام خطایی میشود که همان اطلاعاتِ (نحوه) استفاده را نمایش میدهد.
man – نمایش صفحه راهنمای یک برنامه
اغلب برنامههای اجرایی که برای استفاده در خط فرمان در نظر گرفته شدهاند، یک قطعه مستندات رسمی به نام صفحه راهنما (انگلیسی: manual page) یا (به اختصار) صفحه man (یا man page) فراهم میکنند. یک برنامه صفحهبندی ویژه به نام man برای نمایش آنها استفاده میشود. (این برنامه) به این شکل استفاده میشود:
man program
که در آن “program” نام دستوری است که باید نمایش داده شود.
صفحات man تا حدودی از نظر قالب متفاوت هستند اما به طور عمومی شامل موارد زیر هستند:
- یک عنوان (نام صفحه)
- خلاصهای از نحو (یا سینتکس) دستور
- توضیحی در مورد هدف دستور
- فهرست و توضیحی از هر یک از آپشن (یا گزینه) های دستور
با این حال، صفحات man معمولاً شامل مثال نیستند و به عنوان یک مرجع در نظر گرفته میشوند، نه یک (منبع) آموزش. به عنوان یک مثال، بیایید سعی کنیم صفحه man را برای دستور ls نمایش دهیم:
[me@linuxbox ~]$ man ls
در اغلب سیستمهای لینوکس، man از less برای نمایش صفحه راهنما استفاده میکند، بنابراین تمامی دستورات آشنای less هنگام نمایش (این) صفحه کار میکنند.
“راهنمایی” که man نمایش میدهد به بخشهایی تقسیم شده است و نه تنها دستورات کاربر، بلکه دستورات مدیر سیستم، رابطهای برنامهنویسی، فرمتهای فایل و (موارد) بیشتر را نیز پوشش میدهد. جدول 5-1 طرحبندی راهنما را توضیح میدهد.
جدول 5-1: سازماندهی صفحه Man
| بخش | محتویات |
|---|---|
| 1 | دستورات کاربر |
| 2 | رابطهای برنامهنویسی برای فراخوانیهای سیستمی هسته (مترجم: کرنل) |
| 3 | رابطهای برنامهنویسی برای کتابخانه C |
| 4 | فایلهای ویژه مانند گرهها و درایورهای دستگاه |
| 5 | فرمتهای فایل |
| 6 | بازیها و سرگرمیها مانند محافظ صفحه نمایش (مترجم: اسکرین سیور) |
| 7 | متفرقه |
| 8 | دستورات مدیریت سیستم |
گاهی اوقات برای پیدا کردن آنچه به دنبالش هستیم، لازم است به بخش خاصی از راهنما ارجاع بدهیم. این موضوع به خصوص زمانی صادق است که به دنبال فرمت فایلی باشیم که نام یک دستور هم هست. بدون مشخص کردن شماره بخش، همواره اولین نمونه از یک تطابق را، احتمالاً در بخش 1، دریافت خواهیم کرد. برای مشخص کردن شماره یک بخش، از man به این صورت استفاده میکنیم:
man section search_term
اینجا یک مثال آورده شده است:
[me@linuxbox ~]$ man 5 passwd
این (دستور) صفحه man ای را نمایش میدهد که فرمت فایل (مربوط به) فایل /etc/passwd را توصیف میکند.
apropos – نمایش دستورات مناسب
همچنین این امکان وجود دارد که لیست صفحات man را برای تطابقهای ممکن بر اساس یک عبارت جستجو، جستجو کرد. این کار، (کاری) ناپخته است اما گاهی اوقات مفید است. اینجا مثالی از جستجوی صفحات man با استفاده از عبارت جستجوی partition آورده شده است.
[me@linuxbox ~]$ apropos partiton
addpart (8) - simple wrapper around the "add partition"...
all-swaps (7) - event signalling that all swap partitions...
cfdisk (8) - display or manipulate disk partition table
cgdisk (8) - Curses-based GUID partition table (GPT)...
delpart (8) - simple wrapper around the "del partition"...
fdisk (8) - manipulate disk partition table
fixparts (8) - MBR partition table repair utility
gdisk (8) - Interactive GUID partition table (GPT)...
mpartition (1) - partition an MSDOS hard disk
partprobe (8) - inform the OS of partition table changes
partx (8) - tell the Linux kernel about the presence...
resizepart (8) - simple wrapper around the "resize partition...
sfdisk (8) - partition table manipulator for Linux
sgdisk (8) - Command-line GUID partition table (GPT)...
اولین فیلد در هر سطر از خروجی، نام صفحه man است و فیلد دوم، بخش (مربوطه) را نمایش میدهد. توجه داشته باشید که دستور man با آپشن "-k" همان عملکرد apropos را انجام میدهد.
whatis – نمایش توضیحات تک-خطی صفحه راهنما
برنامه whatis نام و توضیح تک خطی یک صفحه راهنما را که با یک کلمه کلیدی مشخص شده مطابقت دارد، نمایش میدهد:
[me@linuxbox ~]$ whatis ls
ls (1) - list directory contents
متن بالا بخشی از ترجمه کتاب The Linux Command Line (به فارسی: خط فرمان لینوکس) نوشته William Shotts است که نسخه اصلی آن از طریق وبسایت رسمی کتاب (https://linuxcommand.org) قابل دسترسی است. (فهرست مطالب کتاب خط فرمان لینوکس).

