内建命令与外部命令

1、内建命令实际上是 shell 程序的一部分,其中包含的是一些比较简单的 Linux 系统命令,这些命令是写在bash源码的builtins里面的,由 shell 程序识别并在 shell 程序内部完成运行,通常在 Linux 系统加载运行时 shell 就被加载并驻留在系统内存中。而且解析内部命令 shell 不需要创建子进程,因此其执行速度比外部命令快。比如:history、cd、exit 等等。

2、外部命令是 Linux 系统中的实用程序部分,因为实用程序的功能通常都比较强大,所以其包含的程序量也会很大,在系统加载时并不随系统一起被加载到内存中,而是在需要时才将其调入内存。虽然其不包含在 shell 中,但是其命令执行过程是由 shell 程序控制的。外部命令是在 Bash 之外额外安装的,通常放在/bin,/usr/bin,/sbin,/usr/sbin等等。比如:ls、vi等。

3、type来判断到底为内部命令还是内部命令:

type 命令

例如:

help 命令

1、help 命令是用于显示 shell 内建命令的简要帮助信息,帮助信息中显示有该命令的简要说明以及一些参数的使用以及说明。

2、外部命令的 help:外部命令基本上都有一个参数 --help,通过这个参数可以得到相应的帮助。

3、注意:当非常紧急只是忘记该用哪个参数的时候,help 这种显示简单扼要的信息就特别实用,若是不太紧急的时候就可以用 man 这种详细描述的查询方式。

man 命令

1、man 命令(外建命令):是 Manual pages 的缩写,是 Linux 系统中在线软件文档的一种普遍的形式,其内容包括计算机程序(包括库和系统调用)、正式的标准和惯例,抽象的概念等。(注:可以使用 man 命令查看其本身的使用说明,即:man man)

man 工具是显示系统手册页中的内容,也就是一本电子版的字典,这些内容大多数都是对命令的解释信息,还有一些相关的描述,通过查看系统文档中的 man 还可以得到程序的更多相关信息和 Linux 的更多特性。

2、作用:通常用来获得某个命令的说明和使用方式的详细介绍。

3、man 手册的分区区段:man 手册的内容很多,涉及了 Linux 使用过程中的方方面面,为了便于查找,man 手册被进行了分册(分区段)处理,手册通常被分为以下9个区段(若查看相应区段的内容,就在 man 后面加上相应区段的数字即可,例如:man 1 ls):

搜寻特定指令/文件的 man page 说明文件

在某些情况下,你可能知道要使用某些特定的指令或者是修改某些特定的配置文件,但是偏偏忘记了该指令的完整名称。 有些时候则是你只记得该指令的部分关键词。这个时候你要如何查出来你所想要知道的 man page 呢? 我们以底下的几个例子来说明 man 这个指令有用的地方喔!

例如:你可否查出来,系统中还有哪些跟『man』这个指令有关的说明文件呢? 答:你可以使用底下的指令来查询一下

[dmtsai@study ~]$ man -f man
man (1) - an interface to the on-line reference manuals
man (1p)    - display system documentation
man (7) - macros to format man pages

使用 -f 这个选项就可以取得更多与 man 相关的信息,而上面这个结果当中也有提示了 (数字) 的内容, 举例来说,第三行的『 man (7) 』表示有个 man (7)的说明文件存在喔!但是却有个 man (1)存在啊! 那当我们下达『 man man 』的时候,到底是找到哪一个说明档呢? 其实,你可以指定不同的文件的,举例来说,上表当中的两个 man 你可以这样将他的文件叫出来:

[dmtsai@study ~]$ man 1 man <==这里是用 man(1) 的文件数据
[dmtsai@study ~]$ man 7 man    <==这里是用 man(7) 的文件数据

可以自行将上面两个指令输入一次看看,就知道,两个指令输出的结果是不同的。 那个 1, 7 就是分别取出在man page 里面关于 1 与 7 相关数据的文件文件啰! 好了,那么万一我真的忘记了下达数字,只有输入『 man man 』时,那么取出的数据到底是 1 还是 7 啊? 这个就跟搜寻的顺序有关了。搜寻的顺序是记录在/etc/man_db.conf 这个配置文件当中, 先搜寻到的那个说明档,就会先被显示出来! 一般来说,通常会先找到数字较小的那个啦!因为排序的关系啊!所以, man man 会跟 man 1 man 结果相同!

除此之外,我们还可以利用『关键词』找到更多的说明文件数据喔!什么是关键词呢? 从上面的『man -f man』输出的结果中,我们知道其实输出的数据是:

  • 左边部分:指令(或文件)以及该指令所代表的意义(就是那个数字);
  • 右边部分:这个指令的简易说明,例如上述的『-macros to format man pages』

当使用『man -f 指令』时,man 只会找数据中的左边那个指令(或文件)的完整名称,有一点不同都不行! 但如果我想要找的是『关键词』呢?也就是说,我想要同时找上面说的两个地方的内容,只要该内容有关键词存在, 不需要完全相同的指令(或文件)就能够找到时,该怎么办?请看下个范例啰!

例如:找出系统的说明文件中,只要有 man 这个关键词就将该说明列出来。答:

[dmtsai@study ~]$ man -k man
fallocate (2)   - manipulate file space
zshall (1)  - the Z shell meta-man page
....(中间省略)....
yum-config-manager (1) - manage yum configuration options and yum repositories
yum-groups-manager (1) - create and edit yum's group metadata
yum-utils (1)   - tools for manipulating repositories and extended package management

看到了吧!很多对吧!因为这个是利用关键词将说明文件里面只要含有 man 那个字眼的(不见得是完整字符串) 就将他取出来!很方便吧! ^_^(上面的结果有特殊字体的显示是为了方便读者查看, 实际的输出结果并不会有特别的颜色显示喔!)

事实上,还有两个指令与 man page 有关呢!而这两个指令是 man 的简略写法说~就是这两个:

[dmtsai@study ~]$ whatis [指令或者是数据]  <==相当于 man -f [指令或者是数据]
[dmtsai@study ~]$ apropos [指令或者是数据]    <==相当于 man -k [指令或者是数据]

注意:这两个特殊指令要能使用,必须要有建立 whatis 数据库才行!这个数据库的建立需要以 root 的身份下达如下的指令:

[root@study ~]# mandb
# 旧版的 Linux 这个指令是使用 makewhatis 喔!这一版开使用 mandb 了!

注意:一般来说是真的不会去背指令的,只会去记住几个常见的指令而已。那么怎么找到所需要的指令呢? 举例来说,打印的相关指令其实仅记得 lp (line print)而已。那我就由 man lp 开始,去找相关的说明, 然后,再以 lp[tab][tab] 找到任何以 lp 为开头的指令,找到我认为可能有点相关的指令后, 先以 --help 去查基本的用法, 若有需要再以 man 去查询指令的用法!

info命令

info命令(外建命令):info 来自自由软件基金会的 GNU 项目,是 GNU 的超文本帮助系统,能够更完整的显示出 GNU 信息。man 和 info 就像两个集合,它们有一个交集部分,但与 man 相比,info 工具可显示更完整的 GNU 工具信息

Linux 帮助指令(man、help、info)相关推荐

  1. 【ZZ】Linux常用指令

    linux常用指令 - 个人文章 - SegmentFault 思否 https://segmentfault.com/a/1190000011068772 查看目录下有什么文件信息 ls //lis ...

  2. 手机linux系统指令大全,Linux系统指令大全

    送给初学的穷人:Linux系统指令大全 cat 使用权限:所有使用者 使用方式:cat [-AbeEnstTuv] [--help] [--version] fileName 说明:把档案串连接后传到 ...

  3. Linux常用指令和系统管理命令总结

    Linux常用指令: ls 显示文件或目录 ls -l 列出文件详细信息 ls -a 列出当前目录下所有文件或目录,包括隐藏的 ls -al 显示详细文件信息,包括隐藏的文件 mkdir 创建目录 m ...

  4. linux 基本指令

    第一周 第一天 linux基本指令 1.mkdir +目录名(创建新的目录) mkdir /home/work 在/home目录下创建work目录 2.cd +目录名(进入新的目录) cd /home ...

  5. Linux有趣指令(一)

    摘自:Linux有趣指令–跑火车–看电影–牛牛–天气预报,一起来放松一下吧 作者:一只青木呀 发布时间:2020-07-24 15:41:11 网址:https://blog.csdn.net/wei ...

  6. Linux常用指令总结二~~

    文章目录 1. crond任务调度 2. 磁盘分区 3. 磁盘情况查询 4. 网络配置 5. 进程管理 6. 服务(service)管理 7. 动态监控进程 8. 监控网络状态 9. RPM包和YUM ...

  7. linux常用指令总结一~~

    目录 1. 用户指令 2. 用户组指令 3. 文件目录类 4. 时间日期类 5. 搜索查找类指令 6. 压缩和解压类指令 7. 组管理 8. 权限 Linux常用指令总结二~~指路==> 1. ...

  8. linux常用指令(持续更新)

    linux常用指令(持续更新) 基本访问指令: 直接进入用户的home目录: cd ~ 进入上一个目录: cd - 进入当前目录的上一层目录: cd .. 进入当前目录的上两层目录: cd ../.. ...

  9. linux数据库能看到系统执行了哪些命令,DB2数据库在linux操作系统的指令有哪些?...

    以下的文章主要描述的是DB2数据库在linux操作系统下的相关指令,你如果对DB2数据库在linux操作系统下的相关指令有兴趣的话你就可以点击以下的文章进行观看了,以下就是文章的详细内容介绍,望大家借 ...

  10. linux登录指令 pgsql_一句一例解读20条Linux常用指令,学会了你就入门了

    玩过Linux的朋友都知道,Linux是基于命令行的操作系统,学习Linux必须学习Linux的指令,但是Linux的指令群非常庞大,很多"小白"无从下手,作者根据多年授课经验,总 ...

最新文章

  1. 基于Swoole和Redis实现的并发队列处理系统 1
  2. C# — 创建Windows服务
  3. os.environ详解
  4. 电脑上怎么配置mysql数据库服务器_Mysql数据库服务器安装与配置详解教程
  5. python内点法_Python_Day_02 str内部方法总结
  6. Java有哪些常用的转换类,JavaSE——常用类、类型转换
  7. java杰森_java - 杰森格式错误,当他已经得到一个数组时询问 - 堆栈内存溢出
  8. JavaScript面向对象--继承 (超简单易懂,小白专属)...
  9. Unity Android 打开相册和摄像头
  10. Deep Inside Convolutional Networks: Visualising Image Classification Models and Saliency Maps
  11. opencv 图片缩放
  12. alpha-beta 极大极小值剪枝算法
  13. 关于meta标签中的http-equiv属性使用介绍
  14. 高并发中的 限流、熔断、降级、预热、背压你都知道是什么意思吗?
  15. 【LaTex】6.4 listings高亮设置
  16. halcon印章文字提取
  17. 果壳格言——偶像的力量近在眼前
  18. Markdown写出高大上时序图
  19. vscode绿色、护眼色,vue自动格式化配置参考
  20. 关于服务器忘记密码,如何清除。

热门文章

  1. resize()函数
  2. python实现二手汽车价格预测(一)初始数据探索性分析
  3. UVM_MAX_QUIT_COUNT
  4. Access食堂点餐系统
  5. OpenCV——圆检测
  6. 酒店管理系统(Servlet+JSP)
  7. hmac java_java 创建 HMAC 签名
  8. 【专题】2022中国新能源汽车内容生态趋势洞察报告PDF合集分享(附原数据表)...
  9. 专 静 谦 筹 悟 慎 透 恒
  10. 使用js设置input标签只读 readonly 属性