در سیستم عامل لینوکس برنامهها و دستورات بسیار زیادی وجود دارند. هر کدام از این دستورات، معمولا دارای تعداد زیادی آپشن یا گزینه میباشند. برای یک کاربر تازهکار و یا حتی متخصصان حرفهای، یاد گرفتن تمام این آپشنها، کاری زمان بر میباشد و در خیلی از مواقع، حفظکردن آنها، ضرورری نمیباشد. هر گزینه یا آپشن نحوهی رفتار فرمان را تعیین میکند. با استفاده از روش هایی که شرح میدهیم، به راحتی میتوانید برای هر دستور یا برنامهای، با استفاده از راهنما های خوبی که در لینوکس وجود دارد، مستندات لازم را دریافت نمایید. با ما همراه باشید، تا روش های دریافت مستندات راهنمای لینوکس را مورد بررسی قرار دهیم.
برای دسترسی به مستندات کمک و راهنما در لینوکس، روشهای مختلفی وجود دارد. یکی از خصوصیات سیستم عامل لینوکس، منابع زیادی از، مستندات راهنمایی است که برای استفاده از هر دستور و یا برنامه وجود دارد. انواع روش های دریافت مستندات راهنما در سیستم عامل لینوکس به شرح ذیل میباشد.
- استفاده از man page
- استفاده از دستور whatis
- استفاده از دستور info
- استفاده از دستور help
- استفاده از آپشن help
- استفاده از سایتهای معتبر ارائه دهندهی مستندات راهنما
استفاده از man page ها
man pageها، یا صفحات راهنما (manual pages)، منبع غنی و بزرگی از کمک و راهنما برای دستورات، فایلهای تنظیمات در لینوکس هستند. man pageها در سیستم عامل یونیکس استفاده میگردید. از این صفحات راهنما، اغلب در سیستم عاملهای شبیه به یونیکس، که سیستم عامل لینوکس نیز یکی از آنها است، استفاده میگردد. man pageها بطور پیشفرض بر روی اکثر توزیع های لینوکس نصب میباشند. برای استفاده از این مستندات راهنما، از دستور man استفاده میکنیم. برای صفحهی راهنمای خود دستور man از دستور man man استفاده میکنیم.
1 2 3 |
kazemian@upgradeit:~$ man man |
انواع صفحههای راهنما man pages
بستگی به نوع نرمافزار یا محتوا، صفحات راهنمای مختلفی وجود دارد. هر دسته از man pageها، دارای یک شماره دارد که در بالای صفحه آورده میشود. انواع ای صفحات راهنما به شرح زیر میباشد:
1 | برنامههای اجرایی یا دستورات شل |
2 | system calls (فانکشنهای مربوط به ارتباط با هسته) |
3 | library calls (فانکشنهای مریوط به کتابخانههای برنامه) |
4 | فایلهای ویژه معمولا برای ارتباط با درایوها (معمولا در دایرکتوری dev/ ) |
5 | فرمت فایلها مثل etc/passwd/ |
6 | بازیها |
7 | متفرقه |
8 | دستوراتی که تنها به مجوز root اجرا میگردد. |
9 | kernel routing |
جستجو در صفحات man pages
برای جستجوی در صفحات مختلف man pageها از گزینه man -f استفاده میکنیم. مثلا برای پیدا کردن مستندات در بارهی printf دستور زیر را وارد میکنیم:
1 2 3 4 5 6 |
kazemian@upgradeit:~$ man -f printf printf (1) - format and print data printf (3) - formatted output conversion kazemian@upgradeit:~$ |
برای جستجو در نام و همچنین جستجو در توضیحات man pageها از دستور apropos استفاده میکنیم:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
kazemian@upgradeit:~$ apropos printf asprintf (3) - print to allocated string dprintf (3) - formatted output conversion fprintf (3) - formatted output conversion fwprintf (3) - formatted wide-character output conversion printf (1) - format and print data printf (3) - formatted output conversion snprintf (3) - formatted output conversion sprintf (3) - formatted output conversion swprintf (3) - formatted wide-character output conversion vasprintf (3) - print to allocated string vdprintf (3) - formatted output conversion vfprintf (3) - formatted output conversion vfwprintf (3) - formatted wide-character output conversion vprintf (3) - formatted output conversion vsnprintf (3) - formatted output conversion vsprintf (3) - formatted output conversion vswprintf (3) - formatted wide-character output conversion vwprintf (3) - formatted wide-character output conversion wprintf (3) - formatted wide-character output conversion kazemian@upgradeit:~$ |
صفحه راهنمای passwd
passwd هم یک دستور در لینوکس است که پسورد کاربر را تغییر میدهد و هم یک فایل به این نام وجود دارد. در صورتیکه دستور man passwd را وارد کنیم، صفحهی راهنمای مربوط به دستور passwd نمایش داده میشود. برای مشاهدهی صفحهی راهنمای etc/passwd/ به صورت زیر عمل میکنیم:
1 2 3 |
man 5 passwd |
نتیجهی اجرای دستور به صورت زیر میباشد.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
PASSWD(5) File Formats and Conversions PASSWD(5) NAME passwd - the password file DESCRIPTION /etc/passwd contains one line for each user account, with seven fields delimited by colons (“:”). These fields are: • login name • optional encrypted password • numerical user ID • numerical group ID • user name or comment field • user home directory • optional user command interpreter If the password field is a lower-case “x”, then the encrypted password is actually stored in the shadow(5) file instead; there must be a corresponding line in the /etc/shadow file, or else the user account is invalid. The encrypted password field may be empty, in which case no password is required to authenticate as the specified login name. However, some applications which read the /etc/passwd file may decide not to permit any access at all if the password field is blank. A password field which starts with an exclamation mark means that the password is locked. The remaining characters on the line represent the password field before the password was locked. Refer to crypt(3) for details on how this string is interpreted. If the password field contains some string that is not a valid result of crypt(3), for instance ! or *, the user will not be able to use a unix password to log in (but the user may log in the system by other means). The comment field is used by various system utilities, such as finger(1). The home directory field provides the name of the initial working directory. The login program uses this information to set the value of the $HOME environmental variable. The command interpreter field provides the name of the user's command language interpreter, or the name of the initial program to execute. The login program uses this information to set the value of the $SHELL environmental variable. If this field is empty, it defaults to the value /bin/sh. FILES /etc/passwd User account information. /etc/shadow optional encrypted password file /etc/passwd- Backup file for /etc/passwd. Note that this file is used by the tools of the shadow toolsuite, but not by all user and password management tools. SEE ALSO crypt(3), getent(1), getpwnam(3), login(1), passwd(1), pwck(8), pwconv(8), pwunconv(8), shadow(5), su(1), sulogin(8). shadow-utils 4.8.1 05/28/2020 PASSWD(5) |
صفحهی راهنما برای دستور cp
به عنوان مثال، برای بدست اوردن man page مربوط به دستور cp به صورت زیر عمل میکنیم:
1 2 3 |
kazemian@upgradeit:~$ man cp |
در این دستور ، راهنمای دستور کپی در لینوکس را با تمام گزینههای آن را، به صورت زیر نمایش میدهد. همانطور که مشاهده میکنید، شمارهی داخل پرانتز صفحهی راهنما، شماره 1 میباشد. زیرا دستور cp یک برنامهی اجرایی است .
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 |
CP(1) User Commands CP(1) NAME cp - copy files and directories SYNOPSIS cp [OPTION]... [-T] SOURCE DEST cp [OPTION]... SOURCE... DIRECTORY cp [OPTION]... -t DIRECTORY SOURCE... DESCRIPTION Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY. Mandatory arguments to long options are mandatory for short options too. -a, --archive same as -dR --preserve=all --attributes-only don't copy the file data, just the attributes --backup[=CONTROL] make a backup of each existing destination file -b like --backup but does not accept an argument --copy-contents copy contents of special files when recursive -d same as --no-dereference --preserve=links -f, --force if an existing destination file cannot be opened, remove it and try again (this option is ignored when the -n option is also used) -i, --interactive prompt before overwrite (overrides a previous -n option) -H follow command-line symbolic links in SOURCE -l, --link hard link files instead of copying -L, --dereference always follow symbolic links in SOURCE -n, --no-clobber do not overwrite an existing file (overrides a previous -i op‐ tion) -P, --no-dereference never follow symbolic links in SOURCE -p same as --preserve=mode,ownership,timestamps --preserve[=ATTR_LIST] preserve the specified attributes (default: mode,ownership,time‐ stamps), if possible additional attributes: context, links, xattr, all --no-preserve=ATTR_LIST don't preserve the specified attributes --parents use full source file name under DIRECTORY -R, -r, --recursive copy directories recursively --reflink[=WHEN] control clone/CoW copies. See below --remove-destination remove each existing destination file before attempting to open it (contrast with --force) --sparse=WHEN control creation of sparse files. See below --strip-trailing-slashes remove any trailing slashes from each SOURCE argument -s, --symbolic-link make symbolic links instead of copying -S, --suffix=SUFFIX override the usual backup suffix -t, --target-directory=DIRECTORY copy all SOURCE arguments into DIRECTORY -T, --no-target-directory treat DEST as a normal file -u, --update copy only when the SOURCE file is newer than the destination file or when the destination file is missing -v, --verbose explain what is being done -x, --one-file-system stay on this file system -Z set SELinux security context of destination file to default type --context[=CTX] like -Z, or if CTX is specified then set the SELinux or SMACK security context to CTX --help display this help and exit --version output version information and exit By default, sparse SOURCE files are detected by a crude heuristic and the corresponding DEST file is made sparse as well. That is the behav‐ ior selected by --sparse=auto. Specify --sparse=always to create a sparse DEST file whenever the SOURCE file contains a long enough se‐ quence of zero bytes. Use --sparse=never to inhibit creation of sparse files. When --reflink[=always] is specified, perform a lightweight copy, where the data blocks are copied only when modified. If this is not possible the copy fails, or if --reflink=auto is specified, fall back to a stan‐ dard copy. Use --reflink=never to ensure a standard copy is performed. The backup suffix is '~', unless set with --suffix or SIM‐ PLE_BACKUP_SUFFIX. The version control method may be selected via the --backup option or through the VERSION_CONTROL environment variable. Here are the values: none, off never make backups (even if --backup is given) numbered, t make numbered backups existing, nil numbered if numbered backups exist, simple otherwise simple, never always make simple backups As a special case, cp makes a backup of SOURCE when the force and backup options are given and SOURCE and DEST are the same name for an existing, regular file. AUTHOR Written by Torbjorn Granlund, David MacKenzie, and Jim Meyering. REPORTING BUGS GNU coreutils online help: <https://www.gnu.org/software/coreutils/> Report cp translation bugs to <https://translationproject.org/team/> COPYRIGHT Copyright © 2018 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. SEE ALSO Full documentation at: <https://www.gnu.org/software/coreutils/cp> or available locally via: info '(coreutils) cp invocation' GNU coreutils 8.30 September 2019 CP(1) |
دستور whatis
دستور whatis ، حاوی اطلاعات خلاصه، از هر man page میباشد. مثلا خلاصهی راهنما، برای دستور cp ، به شرح زیر می باشد:
1 2 3 4 5 |
kazemian@upgradeit:~$ whatis cp cp (1) - copy files and directories kazemian@upgradeit:~$ |
دستور info
دستور info، نسبت به man pageها، دارای اطلاعات جامعتری در بارهی دستورات و برنامه ها میباشد. البته همهی دستورات در بانک اطلاعات info دارای مستندات نیستند.
1 2 3 |
kazemian@upgradeit:~$ info cp |
دستور help
پوسته یا شل لینوکس، دارای یکسری دستورات داخلی میباشد که برای آن ها صفحهی man وجود ندارد. برای دسترسی به راهنمای دستورات داخلی شل، از دستور help استفاده میکنیم.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
kazemian@upgradeit:~$ man cd No manual entry for cd kazemian@upgradeit:~$ 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. kazemian@upgradeit:~$ |
آپشن help
اغلب برنامهها و دستورات در لینوکس دارای گزینهی h– و یا help— میباشند. وقتی دستوری را با این گزینه اجرا کنیم توضیحات مربوط به آپشنهای دستور را به ما نمایش میدهد. در زیر حاصل دستور netstat -h، را مشاهده مینمایید، که آپشنهای دستور netstat را شرح میدهد:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
kazemian@upgradeit:~$ netstat -h usage: netstat [-vWeenNcCF] [<Af>] -r netstat {-V|--version|-h|--help} netstat [-vWnNcaeol] [<Socket> ...] netstat { [-vWeenNac] -i | [-cnNe] -M | -s [-6tuw] } -r, --route display routing table -i, --interfaces display interface table -g, --groups display multicast group memberships -s, --statistics display networking statistics (like SNMP) -M, --masquerade display masqueraded connections -v, --verbose be verbose -W, --wide don't truncate IP addresses -n, --numeric don't resolve names --numeric-hosts don't resolve host names --numeric-ports don't resolve port names --numeric-users don't resolve user names -N, --symbolic resolve hardware names -e, --extend display other/more information -p, --programs display PID/Program name for sockets -o, --timers display timers -c, --continuous continuous listing -l, --listening display listening server sockets -a, --all display all sockets (default: connected) -F, --fib display Forwarding Information Base (default) -C, --cache display routing cache instead of FIB -Z, --context display SELinux security context for sockets <Socket>={-t|--tcp} {-u|--udp} {-U|--udplite} {-S|--sctp} {-w|--raw} {-x|--unix} --ax25 --ipx --netrom <AF>=Use '-6|-4' or '-A <af>' or '--<af>'; default: inet List of possible address families (which support routing): inet (DARPA Internet) inet6 (IPv6) ax25 (AMPR AX.25) netrom (AMPR NET/ROM) ipx (Novell IPX) ddp (Appletalk DDP) x25 (CCITT X.25) kazemian@upgradeit:~$ |
سایتهای مفید، برای دریافت راهنما در لینوکس
سایتهای زیادی در اینترنت وجود دارند که حاوی مستندات خوبی برای برنامهها و فرمانهای لینوکس میباشند.در ادامه به معرفی چند سایت در این زمینه میپردازیم:
The Linux Document Project TLDP
TLDP مجموعهی بزرگی از مستندات است که توسط افراد داوطلب گرداوری شده است و به صورت آنلاین عرضه میگردد. TLDP حاوی مستندات راهنما برای افراد حرفهای میباشد. همچنین مستنداتی نیز برای کاربران تازهکار دارد.
Arch Wiki
Arch Wiki منبع خوبی برای استفاده از مستندات راهنما برای کاربران توزیع Arch و همچنین توزیع های دیگر لینوکس میباشد. مستندات راهنما در بارهی موضوعاتی از قبیل شبکه، مدیریت سیستم، بهینهسازی و همچنین اطلاعاتی در باره نصب توزیع Arch را در این سایت میتوانید پیدا کنید.
Ask Ubuntu
توزیع اوبونتو دارای مستندات راهنما و همچنین انجمنهای بسیاری برای رفع اشکال و ارائهی راهنمایی میباشد. یکی از سایتهای خوب برای این امر سایت Ask Ubuntu میباشد که یک کامیونیتی برای پاسخ به سوالات مربوط به اوبونتو میباشد.
Gentoo Wiki
Gentu Wiki مستندات راهنما در بارهی توزیع Gentoo و همچنین روشهای نصب برنامههای مختلف لینوکس وجود دارد.