命令帮助--姿势

命令分为:外部命令内部命令

 

内部命令实际上是shell程序的一部分,其中包含一些比较简练的Linux命令,这些命令由shell程序识别并在shell

内部运行,通常linux系统在加载的时候shell就被加载并驻留在内存,因此,内部命令通常随系统加载并加载进内存,同样地,内部命令不会存放在hash表中,并且内建命令比系统论命令有比较高的执行效率,外部命令执行时往往需要fork一个子进程,而内建命令一般不用

 

外部命令其实是Linux应用程序的一部分,考虑到一般这样的程序命令都比较大,所以并不内置进shell而且不会随系统的加载而被加载,只有需要的时候才会被加载进内存。虽然外部命令并不是shell内置识别运行等,但其运行过程却受到shell程序的控制,shell控制外部命令执行的路径查找,加载存放,以及命令的执行等。

 

分辨一个命令是内部命令还是外部命令:

通常可以使用type -a 命令查看命令类型,如果是内部命令会显示 COMMAND is a shell builtin

否则会显示命令的路径

同样地,可以使用whatis (whatis – display manual page descriptions)命令,也有异曲同工之妙

使用enable -a 可以查看所有内部命令

(enable命令用于临时关闭或者激活指定的shell内部命令。若要执行的文件名称与shell内建命令相同,可用enable -n来关闭shell内建命令。若不加-n选项,enable可重新启动关闭的命令)

 

获取命令帮助:

如果需要获取内部命令的使用帮助,可以直接使用help COMMAND (如果要获取help的帮助也可以直接使用help help)

对于绝大多数命令而言都可以使用man(man – an interface to the on-line reference manuals)获取帮助,并且大部分情况下我们都是使用man来获取帮助的

对于常用的man使用方式:

显示某个命令的帮助 man COMMAND (偶尔需要指定章节显示需要的信息)

要显示 /usr/share/man 或 /usr/share/man/local 路径中的所有与 COMMAND 命令相关的物件,请输入:man –M /usr/share/man:/usr/share/man/local COMMAND

要在用户定义的 PATH 中搜索,输入以下命令: man –MPATH COMMAND

只在 MANPATH 或 –M 中指定的路径中搜索,输入以下命令:

 man -m –M PATH COMMAND

修改man默认的语言,显示中文,并让没有中文帮助的显示英文(此方法不推荐

编辑/etc/man_db.conf(不同发行版有不同的称呼) 文件,把里面的所有的 /usr/share/man 改成 /usr/share/man/zh_CN(如果没有这个目录,需要另外安装),并在下面添加一行/usr/share/man

通过alias方式让man显示中文(推荐)

下载中文man包并安装好之后,设置环境变量,在 /etc/profile.d/ 目录下创建脚本文件,

输入

alias cman=’man -M /usr/local/share/man/zh_CN’

然后source一下脚本文件 然后用cman命令查询即可

 

读懂帮助文档,了解符号的意义:

尖括号< >:必选参数,实际使用时应将其替换为所需要的参数

大括号{ }:必选参数,内部使用,包含此处允许使用的参数

方括号[ ]:可选参数,在命令中根据需要加以取舍

小括号( ):指明参数的默认值,只用于{ }

竖线|:用于分隔多个互斥参数,含义为“或”,使用时只能选择一个。

省略号:任意多个参数。

-abc     多选,如果加上[],可不选。

 

小技巧

 

如果忘记一个命令具体是什么,我们可以用apropos COMMAND_sub 获取所有包含命令片段的结果以及命令描述

如果要使用一个命令,但是提供这个命令的包没有安装,在centos上我们可以使用

yum provides COMMAND

同样地,还可以使用

rpm -qf `which COMMAND`

 

点赞

发表评论

电子邮件地址不会被公开。