一、命令执行方式以及命令文件的路径
一般Linux中的命令都带有帮助文件。
shell中的命令一般是这样执行的:当用户在终端上输入命令并按回车后,系统内核会在当前用户的环境变量PATH中去读取环境变量的值,变量的值就是命令的路径,命令路径不只一个,于是系统会从这些路径中从左至右的顺序匹配要查找的命令文件,直到找到并执行为止;当这个命令被执行过已后,系统会把这个命令对应的文件路径保存在系统的哈希表中,以便下次用户执行命令时更快速的查找,查看当前用户的 hash 表。可以执行系统内置命令 hash 显示当前用户的哈希表。
要想获取命令文件的存储路径可以使用命令 which:
# which 命令名
二、Linux内置命令与外部命令
在bash shell中,Linux的命令分为两种:一种是系统shell自带的命令(builtin),这些我们叫作内置命令,通过执行 help 命令就能查看到当前系统所有内置命令;二是外部命令,即在文件系统上的某位置有一个与命令名称对应的可执行文件。
三、命令帮助文档的获取方式
<一>、内置命令获取帮助文档的方式:
判断一个命令是否是Linux内置的,可以用type命令,只有Linux的内置命令才能使用 help 命令获得帮助。
# type cd 输出:cd is a shell builtin
说明这个命令是系统自带的内置命令,那么就可以使用 help命令来获取帮助。
# help 命令名
<二>、外部命令获取帮助文档的方式:
(1) 第一种办法是使用 --help
格式:# 命令名 --help
例如:# mkdir --help
(2) 想要获取命令的完整帮助可以使用 man 命令
格式:# man 命令名 例如:# man mkdir
man命令是调用了less工具显示文档,man的具体的操作方法和less是一样的。
man命令常用快捷键:
空格键:向文件尾部翻一屏;
b:向文件首部翻一屏;
回车键:向文件尾部翻一行;
k:向文件首部翻一行;
Ctrl+d:向文件尾部翻半屏;
Ctrl+u:向文件首部翻半屏;
1G:回到项部;
/keyword:向文件尾部搜索;
?keyword:向文件首部搜索;
n :跟搜索命令相同的方向(下一个);
N :跟搜索命令相反的方向(上一个);
q :退出;
man命令打印出的文档中的段落相关说明:
NAME: 简短的指令,数据名称的说明;
SYNOPSIS: 简短的指令下达语法(syntax)简介;
DESCRIPTION:较为完整的说明;
OPTIONS:针对SYNOPSIS部分中,有列举的所有可用的选项说明;
COMMANDS:当这个程序(软件)在执行的时候,可以在此程序(软件)中下达的指令;
FILES:这个程序或数据所使用或参考或连结到的某些档案;
SEE ALSO:可以参考的,跟这个指令或数据有相关的其他说明;
EXAMPLE:一些可以参考的范例;
BUGS:是否有相关的漏洞;
一般看看EXAMPLE,再看看OPTIONS就可以,如果还不能解决问题,再SEE ALSO。
使用帮助中命令格式中的字符意义:
[]:可选的部分;
{a|b}:分组,a和b作为一个使用单元来使用;
|: 或者,只能选其一;
<>:必不能少的部分;
...:同类的内容可以出现多个;
man命令分段机制:
man命令可以加一个数字参数(1~8)查看相关命令的其它信息
数字"1":可执行命令或shell命令
数字"2": 系统调用(functions provided by the kernel)
数字"3":C语言库函数
数字"4":设备或特殊文件(通常在/dev下)
数字"5":文件格式和规则(例如/etc/passwd)
数字"6":游戏
数字"7":杂项(宏、包及其他杂项)
数字"8":系统管理员相关的命令(通常只给root)
数字"9":跟kernel有关的文件
例如,使用man查看 passwd 命令5段的帮助内容
# man 5 passwd
查看某关键字在哪些段落中有使用帮助,可以使用;
# whatis passwd //提示:如果whatis的数据尚未生成,可以使用makewhatis手动进行;
或者
# man -f passwd //精确匹配和whatis结果一样 # man -k passwd //模糊查找
输出:
passwd (1) - update user's authentication tokens passwd (5) - password file passwd [sslpasswd] (1ssl) - compute password hashes
(3) info 命令可以获取在线帮助文档,通常 info 命令是作为 man 命令的补充
# info passwd
(4) 应用程序自带的帮助文档,通常在存放在目录 /usr/share/doc
(5) Linux发行版官方文档
(6) 通过google搜索