目录
2. shell命令--help
功能说明
在 Linux 系统里有一些特殊的命令 ,它们就是 bash程序的内置命令 ,例如 cd、 history、read 等 ,这些命令在系统目录里不存在真实的程序文件(存在于 bash 程序里 ),对于这部分命令,查看帮助的方法就是使用 help 命令。help 命令的功能是显示帮助信息,能够输出 shell 内部命令的帮助内容,但对于外部命令则无法使用,需要用 man 或 info 命令进行查看。
语法格式
help [选项] 命令/主题
help: help [-dms] [pattern ...]
Display information about builtin commands.
Displays brief summaries of builtin commands. If PATTERN is
specified, gives detailed help on all commands matching PATTERN,
otherwise the list of help topics is printed.
Options:
-d output short description for each topic
-m display usage in pseudo-manpage format
-s output only a short usage synopsis for each topic matching
PATTERN
Arguments:
PATTERN Pattern specifiying a help topic
Exit Status:
Returns success unless PATTERN is not found or an invalid option is given.
选项说明
-d | 显示命令的简短描述 |
-s | 显示格式的帮助信息 |
-m | 使用man手册格式显示帮助信息 |
实践操作
1. 以默认格式显示指定命令的帮助信息
help cd #以默认格式显示 cd 命令的帮助信息
2. 以短格式显示指定命令的帮助信息
help -s cd #以短格式显示 cd 命令的帮助信息
3. 以简短格式显示指定命令的帮助信息
help -d cd #以简短格式显示 cd 命令的帮助信息
4. 以 man 手册格式显示指定命令的帮助信息
help -m cd #以 man 手册格式显示指定命令的帮助信息
5. 查看 help 的帮助信息
help help #查看 help 的帮助信息
6. 显示内部命令,也可以使用 man help 查看内部命令
help #显示内部命令
man help #也可以使用 man help 查看内部命令
命令示例:1. 以默认格式显示指定命令的帮助信息
help cd
输出结果:
[root@MineGi ~]# help cd
cd: cd [-L|[-P [-e]] [-@]] [目录]
改变 shell 工作目录。
改变当前目录至 DIR 目录。默认的 DIR 目录是 shell 变量 HOME
的值。
变量 CDPATH 定义了含有 DIR 的目录的搜索路径,其中不同的目录名称由冒号 (:)分隔。
一个空的目录名称表示当前目录。如果要切换到的 DIR 由斜杠 (/) 开头,则 CDPATH
不会用上变量。
如果路径找不到,并且 shell 选项 `cdable_vars' 被设定,则参数词被假定为一个
变量名。如果该变量有值,则它的值被当作 DIR 目录。
选项:
-L 强制跟随符号链接: 在处理 `..' 之后解析 DIR 中的符号链接。
-P 使用物理目录结构而不跟随符号链接: 在处理 `..' 之前解析 DIR 中的符号链接。
-e 如果使用了 -P 参数,但不能成功确定当前工作目录时,返回非零的返回值。
-@ 在支持拓展属性的系统上,将一个有这些属性的文件当作有文件属性的目录。
默认情况下跟随符号链接,如同指定 `-L'。
`..' 使用移除向前相邻目录名成员直到 DIR 开始或一个斜杠的方式处理。
退出状态:
如果目录改变,或在使用 -P 选项时 $PWD 修改成功时返回 0,否则非零。
[root@MineGi ~]#
命令示例:2. 以短格式显示指定命令的帮助信息
help -s cd
输出结果:
[root@MineGi ~]# help -s cd
cd: cd [-L|[-P [-e]] [-@]] [目录]
[root@MineGi ~]#
命令示例:3. 以简短格式显示指定命令的帮助信息
help -d cd
输出结果:
[root@MineGi ~]# help -d cd
cd - Change the shell working directory.
[root@MineGi ~]#
命令示例:4. 以 man 手册格式显示指定命令的帮助信息
help -m cd
输出结果:
[root@MineGi ~]# help -m cd
NAME
cd - 改变 shell 工作目录。
SYNOPSIS
cd [-L|[-P [-e]] [-@]] [目录]
DESCRIPTION
改变 shell 工作目录。
改变当前目录至 DIR 目录。默认的 DIR 目录是 shell 变量 HOME
的值。
变量 CDPATH 定义了含有 DIR 的目录的搜索路径,其中不同的目录名称由冒号 (:)分隔。
一个空的目录名称表示当前目录。如果要切换到的 DIR 由斜杠 (/) 开头,则 CDPATH
不会用上变量。
如果路径找不到,并且 shell 选项 `cdable_vars' 被设定,则参数词被假定为一个
变量名。如果该变量有值,则它的值被当作 DIR 目录。
选项:
-L 强制跟随符号链接: 在处理 `..' 之后解析 DIR 中的符号链接。
-P 使用物理目录结构而不跟随符号链接: 在处理 `..' 之前解析 DIR 中的符号链接。
-e 如果使用了 -P 参数,但不能成功确定当前工作目录时,返回非零的返回值。
-@ 在支持拓展属性的系统上,将一个有这些属性的文件当作有文件属性的目录。
默认情况下跟随符号链接,如同指定 `-L'。
`..' 使用移除向前相邻目录名成员直到 DIR 开始或一个斜杠的方式处理。
退出状态:
如果目录改变,或在使用 -P 选项时 $PWD 修改成功时返回 0,否则非零。
SEE ALSO
bash(1)
IMPLEMENTATION
GNU bash,版本 5.1.8(1)-release (x86_64-redhat-linux-gnu)
Copyright (C) 2020 Free Software Foundation, Inc.
许可证 GPLv3+: GNU GPL 许可证第三版或者更新版本 <http://gnu.org/licenses/gpl.html>
[root@MineGi ~]#
命令示例:5. 查看 help 的帮助信息
help help
输出结果:
[root@MineGi ~]# help help
help: help [-dms] [模式 ...]
显示内建命令的相关信息。
显示内建命令的简略信息。如果指定了 PATTERN 模式,
给出所有匹配 PATTERN 模式的命令的详细帮助,否则打
印一个帮助主题列表
选项:
-d 输出每个主题的简短描述
-m 以伪 man 手册的格式显示使用方法
-s 为每一个匹配 PATTERN 模式的主题仅显示一个用法
简介
参数:
PATTERN 指定帮助主题的模式
退出状态:
返回成功,除非未找到 PATTERN 模式没有找到或者使用了无效选项。
[root@MineGi ~]#
命令示例:6. 显示内部命令,也可以使用 man help 查看内部命令
help
man help
输出结果:
[root@MineGi ~]# help
GNU bash,版本 5.1.8(1)-release (x86_64-redhat-linux-gnu)
这些 shell 命令是内部定义的。请输入 `help' 以获取一个列表。
输入 `help 名称' 以得到有关函数`名称'的更多信息。
使用 `info bash' 来获得关于 shell 的更多一般性信息。
使用 `man -k' 或 `info' 来获取不在列表中的命令的更多信息。
名称旁边的星号(*)表示该命令被禁用。
job_spec [&] history [-c] [-d 偏移量] [n] 或 history -anrw>
(( 表达式 )) if 命令; then 命令; [ elif 命令; then 命令; ].>
. 文件名 [参数] jobs [-lnprs] [任务声明 ...] 或 jobs -x 命令 >
: kill [-s 信号声明 | -n 信号编号 | -信号声明]>
[ 参数... ] let 参数 [参数 ...]
[[ 表达式 ]] local [option] 名称[=值] ...
alias [-p] [名称[=值] ... ] logout [n]
bg [任务声明 ...] mapfile [-d 分隔符] [-n 计数] [-O 起始序号] [->
bind [-lpvsPSVX] [-m 键映射] [-f 文件名] [-q > popd [-n] [+N | -N]
break [n] printf [-v var] 格式 [参数]
builtin [shell 内建 [参数 ...]] pushd [-n] [+N | -N | 目录]
caller [表达式] pwd [-LP]
case 词 in [模式 [| 模式]...) 命令 ;;]... esac read [-ers] [-a 数组] [-d 分隔符] [-i 缓冲区>
cd [-L|[-P [-e]] [-@]] [目录] readarray [-d 定界符] [-n 计数] [-O 起始序号] >
command [-pVv] 命令 [参数 ...] readonly [-aAf] [名称[=值] ...] 或 readonly -p
compgen [-abcdefgjksuv] [-o option] [-A action]> return [n]
complete [-abcdefgjksuv] [-pr] [-DEI] [-o optio> select NAME [in 词语 ... ;] do 命令; done
compopt [-o|+o 选项] [-DEI] [名称 ...] set [--abefhkmnptuvxBCHP] [-o 选项名] [--] [>
continue [n] shift [n]
coproc [名称] 命令 [重定向] shopt [-pqsu] [-o] [选项名 ...]
declare [-aAfFgiIlnrtux] [-p] [name[=value] ...> source 文件名 [参数]
dirs [-clpv] [+N] [-N] suspend [-f]
disown [-h] [-ar] [任务声明 ... | pid ...] test [表达式]
echo [-neE] [参数 ...] time [-p] 管道
enable [-a] [-dnps] [-f 文件名] [名称 ...] times
eval [参数 ...] trap [-lp] [[参数] 信号声明 ...]
exec [-cl] [-a name] [command [argument ...]] [> true
exit [n] type [-afptP] 名称 [名称 ...]
export [-fn] [名称[=值] ...] 或 export -p typeset [-aAfFgiIlnrtux] [-p] name[=value] ...
false ulimit [-SHabcdefiklmnpqrstuvxPT] [限制]
fc [-e 编辑器名] [-lnr] [起始] [终结] 或 fc -s > umask [-p] [-S] [模式]
fg [任务声明] unalias [-a] 名称 [名称 ...]
for 名称 [in 词语 ... ] ; do 命令; done unset [-f] [-v] [-n] [名称 ...]
for (( 表达式1; 表达式2; 表达式3 )); do 命令; d> until 命令; do 命令; done
function 名称 { 命令 ; } 或 name () { 命令 ; } variables - 一些 shell 变量的名称和含义
getopts optstring name [arg ...] wait [-fn] [-p var] [id ...]
hash [-lr] [-p 路径名] [-dt] [名称 ...] while 命令; do 命令; done
help [-dms] [模式 ...] { 命令 ; }
[root@MineGi ~]# man help 内置命令也有很多,如下:
BASH_BUILTINS(1) General Commands Manual BASH_BUILTINS(1)
NAME
bash, :, ., [, alias, bg, bind, break, builtin, caller, cd, command, compgen, complete,
compopt, continue, declare, dirs, disown, echo, enable, eval, exec, exit, export, false,
fc, fg, getopts, hash, help, history, jobs, kill, let, local, logout, mapfile, popd,
printf, pushd, pwd, read, readonly, return, set, shift, shopt, source, suspend, test,
times, trap, true, type, typeset, ulimit, umask, unalias, unset, wait - bash built-in com‐
mands, see bash(1)
......