一、命令执行方式以及命令文件的路径
一般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搜索