linuxshell命令如何快捷获得系统帮助-创新互联
本篇内容介绍了“linux shell命令如何快捷获得系统帮助”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
创新互联成立与2013年,是专业互联网技术服务公司,拥有项目成都网站制作、做网站、外贸营销网站建设网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元古蔺做网站,已为上家服务,为古蔺各地企业和个人服务,联系电话:18980820575一、程序内在帮助信息
例如:
[chengmo@centos5 ~]$ cat --help Usage: cat [OPTION] [FILE]... Concatenate FILE(s), or standard input, to standard output. -A, --show-all equivalent to -vET #......省略 [chengmo@centos5 ~]$ man -h man, version 1.6d usage: man [-adfhktwW] [section] [-M path] [-P pager] [-S list] [-m system] [-p string] name ... #......省略
上面是2个例子,通过参数获得命令使用帮助,这是我们经常用的。 说点题外话,开始跑题了……,呵呵
我想说下命令常见参数规律,一般如果带参数是一个字符,那么就用:一个”-“连接,如果后面参数是多个字符就用:”--“连接。是不是一个”-“后面不能接多个字符呢?这点就是linux命令解析灵活性了,如果你把多个字符用一个”-“连接,它会将它分割为多个参数。如:ls –al 等价于 ls –a –l ,如果你用:ls –-al 那么它将把al作为整体参数了。
还要说一点,一般linux命令,都会用-h,或者 --help作为返回命令行帮助信息。 特别是--help最多,有的命令2个都支持。 这个已经成了一种习惯了。遇到不会用的命令,不妨试试这2个参数。
二、获得命令外部帮助文件(man-pages)
什么是手册页(man-pages)
在windows下面,我们经常把帮助手册叫电子书,是chm文件。在linux下面的帮助手册,一般叫man-pages。它们按照一定规律存放在linux一些文件夹里面,如果需要查阅,可以通过man-pages手册索引命令查阅,常见有:info,man(本文主要讲的),xman等等。说到这里,肯定有朋友会说:那有windows下面的chm方便吗,搜索,查询,以及表现形式怎么样的呢?在shell终端查看,是不是都是一大篇大篇文字,单独枯燥,密密麻麻的。 哈哈,我可以说的是,它内容表现还很丰富,支持普通文字,表格,图片,还有就是搜索定位到需要信息超快。 一定比在windows里面通过鼠标点击快几倍了。
那么它为什么管理方便,索引速度快呢。接下来,我们看一下man-pages也的规范了。
man-pages目录及文件名规范定义
存放目录:
首先是目录以及存放规范,linux文档经常放在:MANPATH环境变量指定的目录中。一般在:/usr/share/man 这个目录里面。这个目录下面结构还有定义的:
[chengmo@centos5 man]$ ls bg el fr hu it.UTF-8 man1 man2x man4 man6 man8 manl pl.ISO8859-2 ro sk zh_CN cs en fr.ISO8859-1 id ja man1p man3 man4x man6x man8x mann pl.UTF-8 ru sl zh_TW da es fr.UTF-8 it ko man1x man3p man5 man7 man9 nl pt ru.KOI8-R sv de fi hr it.ISO8859-1 man0p man2 man3x man5x man7x man9x pl pt_BR ru.UTF-8 tr #可以分为2类,一类是man[*]目录,一类是:en,zh_CN,pl.ISO8859-2类代表语言已经地区,编码目录
先说一下,man[*]这类目录表示意思。linux帮助文档,一个特别的有意思的是,按照文档表示不同类型,分领域的(也就是分类别),过会我们会说这个类别按照什么分了。还有就是类似:zh_CN pl.ISO8859-2这些。文档还分语言.地域.字符编码 。可以支持统一命令,多个语言版本的文档,并且地域可以不一样,还可以指定字符集。如:zh_TW.big5 这个意思就是:中文_台湾地区.使用big5字符集编码的文档。
文档领域区分方法(就是类别)
我们看下下面的表格:
领域 | 描述 | 说明 |
1 | 用户命令 | 可由任何人启动的,如env、cat、man、touch文档 |
2 | 系统调用或内核函数 | 即由内核提供的函数 如link、sethostname、mkdir |
3 | 库程序 | 即库函数 如acosh、asctime、btree、locale |
4 | 与设备有关的信息 | 即/dev目录下的特殊文件 如zero null sda |
5 | 文件格式描述 | 如/etc/passwd 文件格式描述说明在这个分类下 |
6 | 游戏 | 游戏的帮助文件 |
7 | 其他 | 包括 宏命令包、惯例等如 arp、boot、regex、unix utf8 |
8 | 系统管理 | 只能由root启动 如fdisk、fsck、renice、rpm、yum |
9 | 内核 | 用来存放内核例行程序的文档 |
n | 新文档 | 可能要移到更适合的领域 |
o | 老文档 | 可能会在一段期限内保留 |
l | 本地文档 | 与本特定系统有关的 |
如果文档属于那个类型的,它就放到 MANPATH/语言_区域.字符集/man[n]目录下面。 没有区域语言,代表是en英文文档。就直接放到:MANPATH/man[n]下面,基本上大部分文档都是这个下面。
举个列子吧:
linux下面有个命令是:passwd 修改密码信息的,每个用户都可以调用,所以它会放到man1/目录下面
但是同时,/etc/passwd有个保存用户账户信息配置文件,它的格式及说明信息文档,将放到/man5目录下了。这样按照领域(以后都叫这个了,呵呵)区分,不会出现相同名称文件找错的情况了。 上面提到的:1,2,3,4,5,7,8这些类型是我们经常用到的。 如果我想知道/dev/null 设备的意思,我可以到:man4这个目录下面找了。
帮助文件格式:
刚才说了,目录存放格式,帮助文件一样有它的格式的。首先是命名格式:
[命令名称.领域]:名字就是命令、函数或文件名的名称,后面跟一个点,再跟著领域字符。如:如果passwd命令说明文档,文件名命名是:passwd.1,加上目录存放为:man1/passwd.1 ,如果对应passwd格式说明文档,它将是:man5/passwd.5 。看下下面例子:
[chengmo@centos5 man5]$ ls p* pam.5.gz pam_env.conf.5.gz passwd.5.gz png.5.gz pam.conf.5.gz pam_krb5.5.gz pbm.5.gz pnm.5.gz pam.d.5.gz pam_ldap.5.gz pgm.5.gz ppm.5.gz #/usr/share/man/man5 下面所有以p开头文件,从文件里面我们就知道它对应于那些配置文件格式说明了。 #pam.d.5.gz就是pam.d目录结构说明 pam.5.gz是pam模块结构说明
从这个里面看,.gz结尾,看来是通过gzip压缩过的,linux系统为节省文档存储空间,自带文档都经过压缩的。只是查看时候,我们需要解压然后查看。文档内容不会改变。
再啰嗦一下:
细心朋友一定看到个问题,上面显示:man目录下面结构例子里面,除了man[n]以及语言地区目录。还有一类目录:man1,man0p,man1p,man1x 这里说明下:
加p:表示POSIX Programmer 程序说明文档
加x:表示x windows桌面程序说明文档
0p:表示POSIX Programmer 一些c的头文件库,如:tcp.h,ulimit.h等说明文档
man-pages文件内容格式规范
能够快捷方便查询linux文档,除了目录规范以及命名规范外。对于文档的内容也有一个格式规范呢。
一个文本文件,又不是用word格式,基本都是ascii字符,还有什么规范?
可能朋友会这么说,是的,它确实是文本文件,编辑一个随便的txt文件,就可以是一个linux文档,如:你写了个:testhellow.sh脚本,然后你写了一段文本存为:man/man1/testhellow.1文件。这个就算一个文档了。
你通过linux索引方法,是可以找得到的。 但是:它不是一个规范的文档。
规范格式文档是:
手册页内容 | 描 述 |
NAME | 程序或者命令的名称、手册节号及发布日期 |
SYNOPSIS | 怎样调用命令,带有所有选项和参数的完整列表 |
DESCRIPTl0N | 命令及其用法的简短小结 |
RETURN VALUES | 程序或者库函数返回值,以及产生特定返回值的环境 |
EXIT STATUS | 经常用来替代服TURNVALUS |
OPTIONS | 按字母顺序排列的选项和参数清单,如果有的话 |
FILES | 命令使用的或者能使用的文件清单 |
USAGE | 用程序的语言说明的简明语法,如果有的话 |
ENVIROMENT | 命令使用的或者能使用的环境变量清单 |
DIAGNOSTICS | 命令产生的错误信息及其解决办法的清单 |
NOTES | 不能够归入其他任何一种类别下的所有信息 |
CONFORMING TO | 列出程序遵循的任何标难,比如PoSIX或ISO |
SEE ALSO | 和命令有关的交叉索引和信息 |
BUGS | 指出己知的bug和错误功能,以及怎样和程序的作者联系修正它们 |
AUTHOR | 命令的作者或者维护者的名字,可能带有电子邮件地址或URL地址 |
规范的文档,如果有相关描述,都会包含上面这些节点类型的。我们举例说明下:
[chengmo@centos5 ~]$ gtbl cat.1 | gtbl | groff -Tascii -man CAT(1) User Commands CAT(1) NAME cat - concatenate files and print on the standard output SYNOPSIS cat [OPTION] [FILE]... DESCRIPTION Concatenate FILE(s), or standard input, to standard output. 省略.... EXAMPLES cat f - g 省略.... AUTHOR Written by Torbjorn Granlund and Richard M. Stallman. REPORTING BUGS Report bugs to. COPYRIGHT Copyright (C) 2006 Free Software Foundation, Inc. 省略.... SEE ALSO The full documentation for cat is maintained as a Texinfo manual. If 省略.... cat 5.97 March 2007 CAT(1)
“linux shell命令如何快捷获得系统帮助”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注创新互联网站,小编将为大家输出更多高质量的实用文章!
分享标题:linuxshell命令如何快捷获得系统帮助-创新互联
文章出自:http://ybzwz.com/article/hcece.html