Linux培训
达内IT学院

400-111-8989

Linux Shell 命令快捷获得系统帮助

  • 发布:佚名
  • 来源:网络
  • 时间:2015-11-06 15:10

作为刚刚学习linux朋友,我们拿到一个命令,不知道怎么样使用,一般都会先看下命令默认参数说明,然后再不清楚就是通过man命令查阅手册。还是找不到方法,就网上搜索,最后不行就去大论坛发帖。由于很多时候发帖子估计要比较久有人回复。久而久之,对学习linux的热情被怠慢下来了。 其实,这也是学习linux的最大困难。

linux命令帮助,一般有2种,命令自身代码里面带有使用帮助说明,这种一般很精简,太长了,程序自身的大小以及日常维护不方便。还有一种,就是带有帮助文件,类似windows的chm格式文件。下面我说下这2种怎么样查阅。

一、程序内在帮助信息

例如:

[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字符集编码的文档。

文档领域区分方法(就是类别)

我们看下下面的表格:

shell

如果文档属于那个类型的,它就放到 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索引方法,是可以找得到的。 但是:它不是一个规范的文档。

规范格式文档是:

规范格式文档

规范的文档,如果有相关描述,都会包含上面这些节点类型的。我们举例说明下:

[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@#>.
  
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)

这里自己解压了一个cat.1.gz然后通过自带命令查看文档格式如上图,这些你看到用到好多命令,显示一个文档,在下一节文档查询里面我们会知道原因的。

这里主要说的是linux文档结构,包括目录,命名,已经文档名称,格式等。这些不是强制的,系统也不好强制检测你自己的文档是否满足。但是,你如果有自己文档想加入系统索引,按照规定去做,才会让以后管理不止混乱了。俗话说:无规律不成方圆。是这个理。呵呵,今天说的比较啰嗦,不知道有没有说清楚,这次说的比较理论的,下一节实际检索文档方面的东西。

预约申请免费试听课

填写下面表单即可预约申请免费试听! 怕学不会?助教全程陪读,随时解惑!担心就业?一地学习,可全国推荐就业!

上一篇:使用 Arch Linux 的优势
下一篇:Linux安装程序 - 1

Linux文件扩展名

Linux文件类型

Linux新手要了解的十个知识点

linux目录结构的相关知识

  • 扫码领取资料

    回复关键字:视频资料

    免费领取 达内课程视频学习资料

Copyright © 2023 Tedu.cn All Rights Reserved 京ICP备08000853号-56 京公网安备 11010802029508号 达内时代科技集团有限公司 版权所有

选择城市和中心
黑龙江省

吉林省

河北省

湖南省

贵州省

云南省

广西省

海南省