每日Linux(一)——man和help命令

man和help

  • 引子
  • man(manual)
  • help
  • help和man的区别
  • 内建命令 vs 外部命令
    • 内建命令 (Built-in Commands):
    • 外部命令 (External Commands):
    • 如何判断是内建命令和外部命令
  • 再学习

引子

为什么要从man和help开始学习?因为这两个命令可以大大提升学者的自学能力。学会了这两个命令,可以搞定很多的问题。

man(manual)

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获取帮助。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/645888.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

羊奶与牛奶,谁更好?

羊奶与牛奶&#xff0c;谁更好&#xff1f; 羊奶和牛奶是我们日常饮食中常见的乳制品&#xff0c;但究竟哪种更好呢&#xff1f;今天就让小编羊大师带大家一起来探讨一下&#xff0c;看看羊奶和牛奶在各方面的优势和劣势&#xff0c;帮助你作出更明智的选择。 让我们从营养价…

生成三维模型时,OSGB、PLY、OBJ、S3MB这几种格式分别有什么不同?

OSGB是一种二进制存储&#xff0c;带有嵌入式链接纹理数据的倾斜摄影三维数据格式。此类数据文件碎&#xff0c;数量多&#xff0c;高级别金字塔文件大&#xff0c;难以实现不同地域、不同部门之间的数据共享&#xff1b; OBJ是一种标准三维模型文件格式&#xff0c;一般包括三…

前端开发_JavaScript之WebAPI

WebAPI作用和分类 作用: 就是使用 JS 去操作 html 和浏览器 分类&#xff1a;DOM (文档对象模型)、BOM&#xff08;浏览器对象模型&#xff09; DOM DOM&#xff08;Document Object Model——文档对象模型&#xff09;是用来呈现以及与任意 HTML 或 XML文档交互的API DOM…

【8.ADC模数转换器】蓝桥杯嵌入式一周拿奖速成系列

系列文章目录 蓝桥杯嵌入式系列文章目录(更多此系列文章可见) ADC模数转换器 系列文章目录一、STM32CUBEMX配置二、项目代码1.main.c --> ADCProcess 总结 一、STM32CUBEMX配置 STM32CUBEMX PB15 -> ADC2_IN15 ; PB12-> ADC1_IN11ADCProcess 二、项目代码 1.main.c …

Kotlin 协程库v1.7.1的核心模块(kotlinx-coroutines-core)-- kotlinx.coroutines.flow篇

Flow 是一种异步数据流的表示&#xff0c;可以用于处理异步数据流的操作。 AbstractFlow&#xff08;ExperimentalCoroutinesApi&#xff09; 协程库中的一个抽象类&#xff0c;用于创建具有状态的 Flow 实现。它跟踪了用于上下文保留的所有属性&#xff0c;并在任何属性被违…

C语言通过IXMLHTTPRequest以get或post方式发送http请求获取服务器文本或xml数据

做过网页设计的人应该都知道ajax。 Ajax即Asynchronous Javascript And XML&#xff08;异步的JavaScript和XML&#xff09;。使用Ajax的最大优点&#xff0c;就是能在不更新整个页面的前提下维护数据。这使得Web应用程序更为迅捷地回应用户动作&#xff0c;并避免了在网络上发…

手撕重采样,考虑C的实现方式

一、参考文章&#xff1a; 重采样、上采样、下采样 - 知乎 (zhihu.com) 先直接给结论&#xff0c;正常重采样过程如下&#xff1a; 1、对于原采样率fs&#xff0c;需要重采样到fs1&#xff0c;一般fs和fs1都是整数哈&#xff0c;则先找fs和fs1的最小公倍数&#xff0c;设为m…

libjsoncpp 的编译和交叉编译

&#x1f601;博客主页&#x1f601;&#xff1a;&#x1f680;https://blog.csdn.net/wkd_007&#x1f680; &#x1f911;博客内容&#x1f911;&#xff1a;&#x1f36d;嵌入式开发、Linux、C语言、C、数据结构、音视频&#x1f36d; &#x1f923;本文内容&#x1f923;&a…

开通商家转账到零钱技巧

商家转账到零钱是什么&#xff1f; 通过商家转账到零钱这个功能&#xff0c;如果我们系统需要对用户支付费用&#xff0c;比如发放佣金、提成、退款之类的&#xff0c;可以直接转账到用户的微信零钱。 【商家转账到零钱】是【企业付款到零钱】的升级版&#xff0c;2022年5月1…

H264解码原理详解

H.264的编码原理参考文章H.264的编码原理 解码原理 解码器负责将符合H.264码流规范的压缩视频流解码&#xff0c;并进行图像重建。 根据如下图所示的解码器流图&#xff0c;我们可以看出基本的解码流程如下&#xff1a;解码器从网络提取层中接收压缩的比特流&#xff0c;经过…

Mysql复习1--理论基础+操作实践--更新中

Mysql 索引索引的分类索引失效sql优化 删除数据库数据恢复 索引InnoDB引擎MyISAM引擎Memory引擎Btree索引支持支持支持hash索引不支持不支持支持R-tree索引不支持支持不支持Full-text索引5.6版本以后支持支持不支持 索引 解释说明: 索引指的是帮助mysql高效的获取数据的结构叫…

算法训练营Day48

#Java #动态规划 Feeling and experiences&#xff1a; 回文子串&#xff1a;力扣题目链接 给你一个字符串 s &#xff0c;请你统计并返回这个字符串中 回文子串 的数目。 回文字符串 是正着读和倒过来读一样的字符串。 子字符串 是字符串中的由连续字符组成的一个序列。 …

《Windows核心编程》若干知识点实战应用分享

目录 1、进程的虚拟内存分区与小于0x10000的小地址内存区 1.1、进程的虚拟内存分区 1.2、小于0x10000的小地址内存区 2、保存线程上下文的CONTEXT结构体 3、从汇编代码角度去理解多线程运行过程的典型实例 4、调用TerminateThread强制结束线程会导致线程中的资源没有释放…

WPF之鼠标快速移动进出Textbox导致联动的控件显示卡顿解决方案

如果你的应用在鼠标快速移动进出TextBox1时出现卡顿或者TextBox2的MessInfo显示失败&#xff0c;可能是由于频繁的UI线程更新引起的。你可以试试以下的一些解决方案&#xff1a; 使用防抖动/节流技术&#xff1a;防抖和节流是两种常用的控制函数调用频率的技术&#xff0c;防抖…

Redisson 分布式锁可重入的原理

目录 1. 使用 Redis 实现分布式锁存在的问题 2. Redisson 的分布式锁解决不可重入问题的原理 1. 使用 Redis 实现分布式锁存在的问题 不可重入&#xff1a;同一个线程无法两次 / 多次获取锁举例 method1 执行需要获取锁method2 执行也需要&#xff08;同一把&#xff09;锁如…

Python map函数

在Python编程中&#xff0c;map()函数是一个强大的工具&#xff0c;用于将函数应用于可迭代对象&#xff08;如列表、元组等&#xff09;的每个元素&#xff0c;然后返回一个新的可迭代对象&#xff0c;其中包含应用函数后的结果。本文将深入探讨map()函数的用法&#xff0c;提…

云计算项目五:部署数据库服务mysql |部署共享存储服务NFS | 配置网站服务

部署数据库服务mysql |部署共享存储服务NFS | 配置网站服务 案例1:配置逻辑卷步骤一:创建LV步骤二:格式化案例2:配置数据库服务器步骤一:安装软件MySQL服务软件(2台数据库服务器都要安装)步骤二:挂载lv设备步骤三:启动服务步骤四:管理员登录案例3:配置主从同步步骤一…

linuxshell日常脚本命令之if判断

shell脚本if中判断大于、小于、等于、不等于的符号 脚本有问题&#xff0c;有没有哪位大佬能帮忙检查一下&#xff1f; #!/bin/bash#run_num$(squeue | grep shifting | wc -l) run_numsqueue | grep shifting | wc -l #run_num$(squeue | grep shifting | wc -l 2>&1…

vue+draggable+el-upload上传图片拖拽重排方法

vuedraggableel-upload上传图片拖拽重排方法 1.html <el-row><el-col><el-form-item label"添加视频/图片" prop"device_id"><div class"image-upload"><draggable v-model"fileList" update"dataDr…

js树形控件zTree使用总结

文章目录 一、zTree简介1.1、zTree的特点1.2、zTree文件介绍 二、zTree的基本使用2.1、zTree的创建2.2、zTree的配置2.3、zTree的数据格式2.3.1、标准数据格式2.3.2、简单数据格式 2.4、zTree的常用方法2.4.1、获取zTree对象2.4.2、增加节点2.4.3、勾选或取消勾选全部节点2.4.4…