一、实验介绍

1.1 实验内容

我们时常使用 Linux 的命令,一些常用的命令即使不背我们也能记住,而一些较长的命令或是一些不常用的参数甚至是不常用的命令到用时怎么也想不出来。本课程将带你好好利用 Linux 系统所自带的帮助工具与文档了。

1.2 实验知识点

内建命令与外部命令之分

help , man , info命令的使用以及区别

二、内建命令与外部命令

什么是内建命令,什么是外部命令呢?这和帮助命令又有什么关系呢?

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

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

简单来说就是一个是天生自带的天赋技能,一个是后天得来附加技能。我们可以使用 type 命令来区分命令是内建的还是外部的。例如这两个得出的结果是不同的type exit

type service

得到的是两种结果,若是对ls你还能得到第三种结果

#得到这样的结果说明是内建命令,正如上文所说内建命令都是在 bash 源码中的 builtins 的.def中

xxx is a shell builtin

#得到这样的结果说明是外部命令,正如上文所说,外部命令在/usr/bin or /usr/sbin等等中

xxx is /usr/sbin/xxx

#若是得到alias的结果,说明该指令为命令别名所设定的名称;

xxx is an alias for xx --xxx

三、帮助命令的使用

1. help 命令

本实验环境是 zsh,而 zsh 中内置并没有 help 命令,我们可以进入 bash 中,在 bash 中内置有该命令bash

做好了以上的准备,我们就可以愉快的使用 help 命令了,我们可以尝试下这个命令:help ls

得到的结果如图所示,为什么是这样的结果?

因为 help 命令是用于显示 shell 内建命令的简要帮助信息。帮助信息中显示有该命令的简要说明以及一些参数的使用以及说明,一定记住 help 命令只能用于显示内建命令的帮助信息,不然就会得到你刚刚得到的结果。如图中 exit,cd 便是内建命令

那如果是外部命令怎么办,不能就这么抛弃它呀。其实外部命令的话基本上都有一个参数--help,这样就可以得到相应的帮助,看到你想要的东西了。试试下面这个命令是不是能看到你想要的东西了。ls --help

2. man 命令

你可以尝试下这个命令man ls

得到的内容比用 help 更多更详细,而且 man 没有内建与外部命令的区分,因为 man 工具是显示系统手册页中的内容,也就是一本电子版的字典,这些内容大多数都是对命令的解释信息,还有一些相关的描述。通过查看系统文档中的 man 也可以得到程序的更多相关信息和 Linux 的更多特性。

是不是好用许多,当然也不代表 help 就没有存在的必要,当你非常紧急只是忘记该用哪个参数的时候,help 这种显示简单扼要的信息就特别适用,若是不太紧急的时候就可以用 man 这种详细描述的查询方式

在尝试上面这个命令是我们会发现最左上角显示“ LS (1)”,在这里,“ LS ”表示手册名称,而“(1)”表示该手册位于第一章节。这个章节又是什么?在 man 手册中一共有这么几个章节章节数

说明

1

Standard commands (标准命令)

2

System calls (系统调用)

3

Library functions (库函数)

4

Special devices (设备说明)

5

File formats (文件格式)

6

Games and toys (游戏和娱乐)

7

Miscellaneous (杂项)

8

Administrative Commands (管理员命令)

9

其他(Linux特定的), 用来存放内核例行程序的文档。

打开手册之后我们可以通过 pgup 与 pgdn 或者上下键来上下翻看,可以按 q 退出当前页面

3. info 命令

要是你觉得man显示的信息都还不够,满足不了你的需求,那试试这个命令#该命令在本环境中没有,一般的 bash 会自带的有。

info ls

得到的信息是不是比 man 还要多了,info 来自自由软件基金会的 GNU 项目,是 GNU 的超文本帮助系统,能够更完整的显示出 GNU 信息。所以得到的信息当然更多

man 和 info 就像两个集合,它们有一个交集部分,但与 man 相比,info 工具可显示更完整的 GNU 工具信息。若 man 页包含的某个工具的概要信息在 info 中也有介绍,那么 man 页中会有“请参考 info 页更详细内容”的字样。

四、实验总结

本节我们讲解了内建与外部命令的差别,以及相关的帮助命令的使用。这样通过官方的文档帮助我们最快最有效率的解决当前所遇到的窘境。灵活的使用三个帮助命令,能够很大的提高我们的工作效率

linux终端帮助,Linux下的帮助命令相关推荐

  1. 中文linux(Ubuntu)下让date命令显示英语日期

    Question 操作系统为中文,所以date显示都是中文.但是又无法更改操作系统的语言,因为还是要使用中文系统的. Solution localhost:dist Sean$ date 2018年 ...

  2. lolcat :一个在 Linux 终端中输出彩虹特效的命令行工具

    那些相信 Linux 命令行是单调无聊且没有任何乐趣的人们,你们错了,这里有一些有关 Linux 的文章,它们展示着 Linux 是如何的有趣和"淘气" . Linux命令及Lin ...

  3. linux终端教程,Linux终端命令

    01. 终端命令格式 command [-options] [parameter] 说明: command:命令名,相应功能的英文单词或单词的缩写 [-options]:选项,可用来对命令进行控制,也 ...

  4. 没有权限cd linux,为什么linux在root权限下 打cd命令没有用,都显示没有那个目录或文件...

    心怡 1级 2016-06-28 回答 一.目录操作命令 cd cd命令功能 在每一个操作系统中,都需要有改变目录的工作,linux也不例外,在linux操作系统中,是通过cd命令来改变工作目录的. ...

  5. linux 终端 screem,Linux screen实操指南

    今天为大家从实践角度介绍下如何在linux终端使用screen,相信我,用好screen,可以让你的工作事半功倍. 01screen是什么 Screen是一个全屏窗口管理器,它可以在多个进程之间多路复 ...

  6. linux终端美化,如何美化你的命令行终端Terminal

    Linux下的终端是很有魅力的,你可以进行些简单的配置让它变得更加华丽,让枯燥的命令行也变得生动起来.下面进行些配置是我使用的,先看下效果图 命令行是以我非常喜欢的Avirl为背景的,同时把终端的字体 ...

  7. linux 终端 qmake,qt中的qmake命令设置

    之前安装QT-4.7.2,由于习惯了在命令行下编译源文件,我在网上搜了一下关于QT环境变量的配置方法,配置很简单,在/etc/profile文件里添加下面几行语句: export QTDIR=/opt ...

  8. dd linux 尾部添加0_Linux 下的dd命令使用详解(摘录)

    一.dd命令的解释 dd:用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换. 注意:指定数字的地方若以下列字符结尾,则乘以相应的数字:b=512:c=1:k=1024:w=2 参数注释: 1. ...

  9. dd linux 尾部添加0_linux下的dd命令使用详解

    一.dd命令的解释 dd:用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换. 注意:指定数字的地方若以下列字符结尾,则乘以相应的数字:b=512:c=1:k=1024:w=2 参数注释: 1. ...

最新文章

  1. 轻松易懂的缓存雪崩、穿透、击穿以及解决方案
  2. LintCode刷题——Largest Divisible Subset
  3. Python基础教程:type()函数-动态创建类
  4. HTML5中本地数据库(SQLLite)的基础
  5. 4岁的拼多多超越20岁的百度,成为中国第五大互联网公司!
  6. C#.Net工作笔记010---c#中的静态扩展方法_可动态给string等_添加共通方法好用
  7. amd u盘安装linux mint,安装Linux Mint 20后需要做的13件事
  8. BiLSTM+CRF命名实体识别:达观杯败走记(下篇)
  9. npoi excel导入html数据库,C#_.NetFramework_Web项目_NPOI_EXCEL数据导入
  10. 关于爬虫学习的一些小小记录(二)——正则表达式匹配
  11. server2003服务器安全攻略
  12. redis的安装教程(单机、win10)
  13. 【C语言】写一个斗牛小游戏的发牌器
  14. RuoYi-Vue项目登录过期的实现
  15. Unity网格系统(1)网格生成
  16. 揭阳计算机短期培训机构,揭阳市PLC自动化速成班
  17. H5新增video标签的常用属性
  18. 毕业设计--2020.02.18 奇耘4.2寸墨水屏的程序设计思路分享
  19. 创业故事:记YouTube创始人陈士骏,选择满意工作,让自己人生无悔
  20. Arduino ESP8266 MQTT 阿里 腾讯 连接示例

热门文章

  1. spring security简单教程以及实现完全前后端分离
  2. JVM 性能调优监控工具 jps、jstack、jmap、jhat、jstat、hprof 使用详解
  3. 集群搭建:CentOS 7 模板机封装、配置静态 IP、简单优化
  4. 左神算法:分别用递归和非递归方式实现二叉树先序、中序和后序遍历(Java版)
  5. C++ STL栈Stack的使用
  6. GTS--阿里巴巴分布式事务全新解决方案
  7. TCP 可靠传输机制详解
  8. [leetcode] 72.编辑距离
  9. Web前端开发笔记——第一章 Web前端概论
  10. 软件驱动安装在docker_别为Docker本地实现不支持GPU发愁,解决方案在此!