帮助命令help、man、info
内建命令与外部命令
有一些查看帮助的工具在内建命令与外建命令上是有区别对待的。
内建命令实际上是 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
命令来区分命令是内建的还是外部的。
pure@pure-virtual-machine:~$ type cd
cd 是 shell 内建
pure@pure-virtual-machine:~$ type vim
vim 是 /usr/bin/vim
pure@pure-virtual-machine:~$ type ls
ls 是“ls --color=auto”的别名
帮助命令
help命令
help xxx
用于显示shell内部命令的帮助信息。help命令只能显示shell内部的命令帮助信息。
- 格式
help [-dms] [模式 ...]
- 选项说明
-d
输出每个主题的简短描述
-m
以伪 man 手册的格式显示使用方法
-s
为每一个匹配 PATTERN 模式的主题仅显示一个用法
-
实例
-
查看 help 自身帮助信息
help help
-
以类似于 man 手册格式查看 help 命令的帮助信息。
help -m help
-
查看 help 命令的简短描述。
help -d help help - Display information about builtin commands.
-
查看 help 和 cd 命令使用格式。
help -s help cd help: help [-dms] [模式 ...] cd: cd [-L|[-P [-e]] [-@]] [目录]
-
--help
--help
是一个工具选项,大部分的GNU工具都具备这个选项,--help
选项可以用来显示一些工具的信息。
例如ls --help
用法:ls [选项]... [文件]...
列出给定文件(默认为当前目录)的信息。
如果不指定 -cftuvSUX 中任意一个或--sort 选项,则根据字母大小排序。
必选参数对长短选项同时适用。
-a, --all 不隐藏任何以 . 开始的项目
...
...
...
man命令
Man工具可以显示系统手册页中的内容,这些内容大多数都是对命令的解释信息。通过查看系统文档中的man页可以得到程序的更多相关主题信息和Linux的更多特性。man是非常实用的一种工具,当你在使用到某一个并不熟悉的命令时,man命令会显得非常有用。
当需要了解某个工具更为详细的信息时,可以使用命令man后跟工具名的方法来实现。例如man ls
LS(1) User Commands LS(1)
NAME
ls - list directory contents
SYNOPSIS
ls [OPTION]... [FILE]...
DESCRIPTION
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 .
...
...
info命令
Info工具是一个基于菜单的超文本系统,由GNU项目开发并由Linux发布。info工具包括一些关于Linux shell、工具、GNU项目开发程序的说明文档。
例如:info ls
,得到的信息比 man 还要多,info 来自自由软件基金会的 GNU 项目,是 GNU 的超文本帮助系统,能够更完整的显示出 GNU 信息。所以得到的信息当然更多。