终端下使用Linux不可避免要与诸多Linux命令打交道,对于常用命令我们还大概都能记住几种用法,而对于冗长命令、不常用命令以及这些命令的参数使用,要记清楚是不可能也是没有必要的。熟练使用Linux下的帮助命令,对我们掌握新命令的用法很有帮助。这里就简要总结一下Linux下的几种帮助命令(help
、man
、info
)的使用。
一、内建命令与外部命令
由于不同的命令(内建命令vs外部命令)查询帮助的方法不一样,所以要查询某个命令的帮助信息,首先要确定这个命令是内建命令还是外部命令。
内建命令:Shell程序的一部分,这些命令写在bash源码的buildins里面,被Shell程序识别并运行在Shell程序中,所以解析内建命令Shell不需要创建子进程,其执行速度比外部命令快;如:history,cd,exit等。
外部命令:Linux中的实用程序部分,在系统启动时不加载到内存中,而是在需要时才会被调用到内存中。其执行过程也是由Shell控制的,外部命令是在Bash之外安装的,通常放在/bin,/sbin,/usr/bin,/usr/sbin等目录中;如ls,vim等。
我们可以通过type
命令来确认某个命令是内建还是外部命令(第三种说明执行的ls
命令是别名):
shiyanlou@16b6978c3fb4:~$ type cd
cd is a shell builtin
shiyanlou@16b6978c3fb4:~$ type vim
vim is /usr/bin/vim
shiyanlou@16b6978c3fb4:~$ type ls
ls is aliased to `ls --color=auto'
二、常用帮助命令的使用
1.help
命令:
-
help
显示Shell内建命令的简要帮助信息:命令简要说明已经一些参数的简要使用说明。
shiyanlou@16b6978c3fb4:~$ help ls
bash: help: no help topics match `ls'. Try `help help' or `man -k ls' or `in
fo ls'.
shiyanlou@16b6978c3fb4:~$ help vim
bash: help: no help topics match `vim'. Try `help help' or `man -k vim' or `
info vim'.
shiyanlou@16b6978c3fb4:~$ help exit
exit: exit [n]
Exit the shell.
Exits the shell with a status of N. If N is omitted, the exit status
is that of the last command executed.
- 非内建命令如果需要help,则可以使用
--help
。
shiyanlou:~/ $ 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.
...
2.man
命令:
man
查询命令帮助没有内建命令和外部命令之分,man
工具是显示系统手册页中的内容,是一本电子版的字典,这些内容大多是对命令的解释信息和一些相关的描述。man
的每一章节显示的信息可以参考前文《基本概念及操作》。打开手册之后我们可以通过d
、e
按键来翻页。
3.info
命令:
info
来自于自由软件基金会的GNU项目,是GNU的超文本帮助系统,能够完整显示出GNU信息。