您的位置:首页 > 运维架构 > Linux

Linux基础 -- 帮助命令

2017-08-24 00:00 253 查看

1、内建命令与外部命令

内建命令实际上是 shell 程序的一部分,其中包含的是一些比较简单的 Linux 系统命令,这些命令是写在bash源码的builtins里面的,并由 shell 程序识别并在 shell 程序内部完成运行,通常在 Linux 系统加载运行时 shell 就被加载并驻留在系统内存中。而且解析内部命令 shell 不需要创建子进程,因此其执行速度比外部命令快。比如:history、cd、exit 等等。

外部命令是 Linux 系统中的实用程序部分,因为实用程序的功能通常都比较强大,所以其包含的程序量也会很大,在系统加载时并不随系统一起被加载到内存中,而是在需要时才将其调用内存。虽然其不包含在 shell 中,但是其命令执行过程是由 shell 程序控制的。外部命令是在 Bash 之外额外安装的,通常放在/bin,/usr/bin,/sbin,/usr/sbin等等。比如:ls、vi等。

简单来说就是一个是天生自带的天赋技能,一个是后天得来附加技能。我们可以使用 type 命令来区分命令是内建的还是外部的。例如:

[root@izwz9gtdx1ch4f9gn56b32z ~]# type cd
cd is a shell builtin
[root@izwz9gtdx1ch4f9gn56b32z ~]# type vi
vi is /usr/bin/vi
[root@izwz9gtdx1ch4f9gn56b32z ~]# type ls
ls is aliased to `ls --color=auto'


#得到这样的结果说明是内建命令,正如上文所说内建命令都是在 bash 源码中的 builtins 的.def中 xxx is a shell builtin

#得到这样的结果说明是外部命令,正如上文所说,外部命令在/usr/bin or /usr/sbin等等中 xxx is /usr/sbin/xxx

#若是得到alias的结果,说明该指令为命令别名所设定的名称; xxx is an alias for xx --xxx

2、帮助命令的使用

2.1、help

help 命令是用于显示 shell 内建命令的简要帮助信息。帮助信息中显示有该命令的简要说明以及一些参数的使用以及说明,一定记住 help 命令只能用于显示内建命令的帮助信息,比如:

[root@izwz9gtdx1ch4f9gn56b32z ~]# help ls
-bash: help: no help topics match `ls'.  Try `help help' or `man -k ls' or `info ls'.
[root@izwz9gtdx1ch4f9gn56b32z ~]# help cd
cd: cd [-L|[-P [-e]]] [dir]
Change the shell working directory.

...

而对于外部命令,如果想要查找说明,一般可以使用--help参数,比如:

[root@izwz9gtdx1ch4f9gn56b32z ~]# ls --help
Usage: ls [OPTION]... [FILE]...
List information about the FILEs (the current directory by default).
Sort entries alphabetically if none of -cftuvSUX nor --sort is specified.

Mandatory arguments to long options are mandatory for short options too.
-a, --all                  do not ignore entries starting with .
-A, --almost-all           do not list implied . and ..
--author               with -l, print the author of each file
-b, --escape               print C-style escapes for nongraphic characters
--block-size=SIZE      scale sizes by SIZE before printing them; e.g.,
'--block-size=M' prints sizes in units of
1,048,576 bytes; see SIZE format below
-B, --ignore-backups       do not list implied entries ending with ~
...


2.2、man命令

见https://my.oschina.net/pierrecai/blog/1422282

特别重复man命令打开的帮助文档中的一些操作:

在 man 中使用搜索
/<你要搜索的关键字>


或者使用
?<你要搜索的关键字>
向上查找

查找找完毕后你可以使用
n
键切换到下一个关键字所在处,
shift+n
为上一个关键字所在处。

使用
Space
(空格键)翻页,使用pageUp向上翻页,pageDown向下翻页,

Enter
(回车键)向下滚动一行,或者使用
j
,
k
(vim 编辑器的移动键)进行向前向后滚动一行。

按下
h
键为显示使用帮助(因为 man 使用 less 作为阅读器,实为
less
工具的帮助),按下
q
退出。

2.3、info命令

info命令相当于man命令的一个更为完整的版本。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Linux