做网站学习,网站做关键词链接有用吗,建立免费网站 优帮云,php原生态开发公司网站man和help 引子man#xff08;manual#xff09;helphelp和man的区别内建命令 vs 外部命令内建命令 (Built-in Commands):外部命令 (External Commands):如何判断是内建命令和外部命令 再学习 引子
为什么要从man和help开始学习#xff1f;因为这两个命令可以大大提升学者的… man和help 引子manmanualhelphelp和man的区别内建命令 vs 外部命令内建命令 (Built-in Commands):外部命令 (External Commands):如何判断是内建命令和外部命令 再学习 引子
为什么要从man和help开始学习因为这两个命令可以大大提升学者的自学能力。学会了这两个命令可以搞定很多的问题。
manmanual
man是英文单词manual的缩写在这里是手册的意思man最大的作用就是列出目标命令的安装手册可供用户查看目标命令的使用方法。
man [OPTION] [COMMAND]我们同样可以通过man命令查看man的手册进行参考 输出man man命令后会出现man的手册
名称man - 系统参考手册的接口
概述man [man 选项] [[章节] 页 ...] ...man -k [apropos 选项] 正则表达式 ...man -K [man 选项] [章节] 关键词 ...man -f [whatis 选项] 页 ...man -l [man 选项] 文件 ...man -w|-W [man 选项] page ...从上面我们可以看出 man -k其实与apropos等价因为二者的[OPTIONG]可以通用。 同理man -f与whatis等价。 是不是还有些困惑没关系man还为我们提供了示例 示例man ls显示 项目 (程序) ls 对应的手册页。man man.7显示章节 7 中宏包 man 对应的手册页。这是“man 7 man”的另一种拼方法。man man(7)显示章节 7 中宏包 man 对应的手册页。这是“man 7 man”的另一种拼写方法。该方法在复制和粘贴手册页的交叉引用时可能更方便。请注意括号在通常情况下必须被引号括起以避免 shell 转义。man -a intro正确执行时显示手册中包含的所有可用的 intro 手册页。可以在连续显示过程中退出或跳过任一页。man -k printf将关键词 printf 作为正则表达式来搜索对应的手册页概述和手册页名称并打印所有匹配结果。等效于 apropos printf.man -f smail查找 smail 引用的手册页并输出找到的所有概述。等效于 whatis smail.这里其实我们就已经初步了解了man的用法剩下的就是应用了。
help
help函数的主要作用是用于获取“帮助”信息命令的基本结构是help [-dms] [模式 ...] 输出help help获取help的帮助。
help: help [-dms] [模式 ...]
//这里解释一下[-dms]的意思也就是[OPTION]的选项有三个 -d -m 和 -s 我们可以从下面的
显示内建命令的相关信息。显示内建命令的简略信息。如果指定了 模式给出所有匹配 模式的命令的详细帮助否则打印帮助主题列表。选项-d 输出每个主题的简短描述-m 以伪 man 手册的格式显示用法-s 仅对每一个匹配 模式 的主题输出简短的用法提要参数模式 用来确定帮助主题的模式退出状态返回成功除非没有找到 模式或者使用了无效的选项。其实我们看上面的解释就能很好地使用help了。
help和man的区别
在学习help用法的时候我们可不可以输入man help指令查看help的手册呢答案是不可以。
为什么呢
help 是Bash shell的内建命令用于获取Shell内建命令的简要帮助信息。它并不提供外部命令系统上安装的其他软件包提供的命令的帮助。man 主要用于查看外部命令的手册页包括系统上安装的外部命令的详细文档。
为了理解以上一段话我们首先得知道内建命令和外部命令。
内建命令 vs 外部命令
内建命令 (Built-in Commands):
定义内建命令是直接嵌入到Shell解释器中的命令。它们不是独立的可执行文件而是Shell的一部分。 执行位置在Shell解释器中执行而不需要启动新的进程。 性能通常比外部命令执行得更快因为它们不需要启动额外的进程。 例子cd、echo、pwd 是Bash中的内建命令。
外部命令 (External Commands):
定义外部命令是独立的可执行文件存储在文件系统中的某个位置。它们不是Shell解释器的一部分。 执行位置需要启动新的进程通过调用外部命令的可执行文件来执行。 性能相对较慢因为需要创建新的进程。 例子ls、grep、cp 是外部命令它们通常存储在系统的可执行文件路径中。
如何判断是内建命令和外部命令
我们使用type命令来查找一个命令是内建命令还是外部命令。type命令非常简单就不赘述了在这里我们可以先使用type type查看type的命令类型然后决定使用man还是help自学type。
再学习
--help可以在一定程度上解决man和help在内建命令和外部命令的尴尬问题无论是以上的哪一种命令都可以使用[command] --help获取帮助。