linux shell命令如何快捷获得系统帮助

发布时间:2021-09-23 17:38:18 作者:iii
来源:亿速云 阅读:143

本篇内容介绍了“linux shell命令如何快捷获得系统帮助”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

一、程序内在帮助信息


例如:

[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
#可以分为<strong>2类</strong>,一类是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 <bug-coreutils@gnu.org>.
 
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命令如何快捷获得系统帮助”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!

推荐阅读:
  1. linux命令基础(一)
  2. 学习Linux必看的命令(一)

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

linux shell

上一篇:如何使用linux shell 脚本实现tcp/upd协议通讯

下一篇:linux dev中常见特殊设备有哪些

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》