粉丝4.3万获赞10.3万


大家好,欢迎来到 fabric 区块链架构视频课程,那么上节课我们已经讲了如何搭建一个五班图的一个环境,这节课我们来看一下如何在这个 linux 的环境下面来完成希尔编程。 首先我们还是按照原来的一个做法,把咱们这个弯图打开,打开之后的话呢,我们的第一件事情就是为了更方便我们切换到一个管理员的账户, 这样的话呢就可以避免很多的一些权限的问题。呃,当然在网上看到这种方式,这个 steal 的话呢,实际上就是以管理员的身份运行,如果是我们切换到了管理员的账户,那么我们就可以避免类似于这样的操作。回到我们 上节课的一个流程,每次在无版图启动的时候,默认他会给这个 rot 随机分配一个密码,那么这个地方我们首先要给他确认这个密码,来把我们上节课的这个流程走一遍, 首先输的是我们自己的密码,然后给管理员设置一个新的密码,接下来我们切换到管理员的账户, 那么有了这个东西之后的话呢,接下来他目前所属的这个目录的话呢,在这里我们两点退回到上级目录,再两点 退回到三级目录。接下来 ls 大家从这里可以看到的话呢,这个地方就是我们可以理解成一个根目录,这里面有很多的这个目录都是非常重要的。呃,所以的话呢,大家这一块要稍微记清楚一点,在我们的 pdf 里面的话呢, 给大家做了一个梳理,我们对照来看一下啊,这里面有几个。首先是这个 b 目录, b 目录的话呢,它存放的是咱们这个无斑图的可执行文件,换句话来说,咱们系统的可执行文件的话呢,就放到这里, 一般这些可执行文件的话呢,需要这个 rot 的一个账户, ok, 那么启动的一些代码的话呢,放到这个 bot 这一块,当然我们可以通过这个 cdbot 可以查看一下啊, ok, 这就我们启动的一些脚本。接下来的话呢,如果是有一些配置,比如说我们后面要安装这个 docker 多可的话呢,需要配置这个国内的一个镜像,那么这些配置存在哪里呢?在我们这个无斑图里面,这个配置的话呢,实际上都存在 etc 这一块,就这个地方大家稍微了解一下,大家从这 后缀也能看出来,主要是一些配置文件啊。 etc 这个目录存的是咱们的配置文件。好,我们刚刚在登录的时候,其实的话呢,是一个哄啊,就是咱们有一个用户,那么这个用户的信息存在哪里呢?往上走 ls 这块有一个哄,这个哄的话呢就是纯用户的一个目录,当我们创建一个用户,那么在这里就会分配一个跟这个用户名同名的文明夹, 在这个林志克斯里面,他没有文件夹这个概念啊,他们都称为目录文件。 ok, 好,大家可以看到有咱们这个账户,作为管理员的话呢,他单独有个账户在咱们这个录入头这个目录, ok, 所以入头这个目录的话呢,存的是管理员的一些相关的信息,我们待会自己做实验, 我们也可以把一些文件存到这个 home 目录啊,也是可以的,当然你如果是管理员的用户啊,你也可以存到这个目录,都是可以的。好,接下来还有一个目录比较重要,我们讲了这几个目录的话呢,是我们在讲 fabric 的时候肯定会用到的,还有一个的话呢,是这个 mnt, 那么这个目录的话呢,它是可以跟我们的外界的设备进行一个挂载操作,大家可以看。 呃,因为我这边的话呢,是一个内置的一个无弯图的系统,所以他默认啊,已经挂载了咱们系统的 c 盘、 d 盘和 e 盘。 到时候我们到了这个存的一个虚拟机里面的话呢,这个挂载的一个流程是需要我们自己做的,比如说我们需要去拷贝 windows 里面的一些东西,那么前提是要先让 linux 跟咱们 windows 的话呢,有一个共享的文件夹,这个在咱们的这个 minix 里面,我们成为设备的一个或者是目录的一个挂载操作,大家可以看到这是咱们 windows 的底盘,在这边也是存在的。好,那么最后还有一个目录给大家介绍一下 usr 来看一下, 你们也可以通过斜杠直接退回到咱们的根部乳。接下来 cd usr, 这个是什么呢?这个不是优色的意思啊,这个的话呢,它并不是优色的一个缩写, 它主要是存储了这个用户的一些软件资源啊, user software resource, 换句话来说,用户下载的一些资源,特别是以后安装的资源,我们就可以放到这里啊。 ok, 后面的话呢,我们会通过一些下载的一些工具啊,都会存放到这个目录, 我们刚刚的话呢,已经把基本的这个 linux 的目录给大家稍微的介绍了一下,既然我们是要学这个需要编程,那么这节课我们要先完成一个基本的需要编程的一个脚本。 呃,我们来看一下,回到咱们这个菜鸟教程这一块的话呢,有第一个脚本。这里面的话呢,我们可以通过这个 vm vim 的命令来创建这个文件。什么意思呢?来看一下,我们先退回到这个后目录,然后,呃,我们就直接 进到这里来,之后我如何来编写这种 s h 的文件呢?在咱们另一个词里面的话呢,有 vim 的编译器,如果是你现在写了一个工程名或者是文件名没有,比如说代码零一点 sh, 那么他默认会 软件,大家可以看到。那么现在的话呢,就新建了一个文件,这里的话呢,请大家注意,我们先要去按小写的 i, 这个要给大家写一下 来,大家看我现在写任何东西,大家注意看,一开始的话呢,这个地方是取消的啊,在真实的一个场景里面,你现在的话呢是不可编译的,大家可以试一下。 好,如果我现在想让他编译的话呢,很简单,我现在首先在这个 vim 里面,通过这个小写的 i 就可以切换到编译模式。 ok, 我们来看一下,按小写的 i 这块的话呢,就有一个 insect, 我们现在就可以写东西了, 那么我们写什么东西呢?来看一下,这里我们说了,在我们的这个需要环境里面有各种各样的版本, 那么咱们的第一件事情就是要确定我是哪个版本,我们可以在这里声明,井号,感叹号并 bush, 这种的话呢,就代表的是通过啊,选择的是这个方式的一个需要的一个代码,他的一个编译器和解析器。 好,所以的话呢,我们把它复制过来。 ok, 大家可以看到,那么这里的话呢,来,先咱们给它粘贴一下。 好,粘贴一下之后的话呢,咱们可以换一行,换一行之后咱们可以干什么呢?通过这个挨口 这个 app 的话呢,类似于我们的这个打印输出,就相当于这个 print in, 我们再写一个什么呢?哈喽,好,写完之后啊,因为这个是纯命令的方式,他并没有关闭啊,你不能把这个关了,把这个关了话整个系统就没了,所以呢 话呢,我们现在要退出这种编译模式,就三个命令,大家记一下, esc 就是我们键盘左上角这个退出键。好,大家看现在还是可以编译的,当我们按 esc 之后, 那么这种可变异的状态就取消了。好,接下来我们要到保存并且退出,所以我们要按冒号 wq。 好,这个是 保存且退出。好,所以的话呢,我们先按冒号,大家看底下有 wq, 然后再按回车键。 好,到这里的话呢,接下来我们可以看一下就显示出来了,有一个代码零一。好,接下来我们怎么来运行这个代码零一呢?我们不能够直接在 当前目录写这个文件名,因为这个是一个可执行的一个命令,如果你这么写,他就会到零六克斯的 pass 里面啊,咱们零六克斯里面也有黄金变量,他就会到这个 pass 里面去找我们。这个目录的话呢,肯定在黄金变量里面并没有注册啊,所以肯定是找不到的, 所以我们在当前目录里面执行 s h 的话呢,除非你自己本身就在这个目录啊,如果不在这个目录里面,我们就要用 点斜杠的方式告诉我们的操作系统,我们要在当前目录查找,所以的话呢,直接点斜杠这个地方是呆某零一点 sh。 好,那么这碰到了我们今天的第一个错误, 我们虽然现在是 read, 但是他还告诉我们权限无效。那么接下来的话呢, 我们可以通过 ls 杠 l dem 零一来查看他的这个权限,大家可以看出来比较复杂,由于我们的话呢,并不是深入的讲,这个需要编程啊,所以大家大概了解就行了。这块有张图,我现在简单给大家说一下, 我们可以先切换到两百的一个视图这个地方啊,如果第一个是 d, 他就代表的是一个文件啊,一个目录如果是没有,那就代表的是一个普通的文件, r 代表可读, w 代表可写, x 代表可执行。大家可以看到这一块并没有 x, 它分为三个组,第一个的话呢,就是我们的文件所有者,因为是 rot 创建的,但是作为 rot 而言,它也没有 x, 也就是说不可以执行。第二个 组的话呢,是用这个主用户权限,就换句话来说,当前这个文件它属于哪个组,其实默认它属于 read 组。第三个就是其他用户,比如说我们刚刚登录的那个红那个用户,那么后面这些都不是很重要了, 大家可以看到,现在目前这个文件它属于 rot 这位用户的,而且如属于 rot 组,这个是日期大小,名称等等。那么接下来的话呢,我们要给它添加这个权限, 那么这节课我简单的先添加一下,下节课我们再着重来分析,通过这个 c h m o d 的方式加一个 x 点斜杠 demo s h。 好,添加之后的话呢,他说没有这个文件,我们看一下啊, demo 零一啊, ok, 好,加完之后没有任何反应,那么我们接下来 ls 杠 l, 你会发现对所有的用户都添加了,大家可以看 这个有 x 就代表是有写的权限了啊,有执行的权限,那么所在的组的用户他也有,就是只要跟他同一个组也有这个权限,乃至于其他用户也有这个权限, 所以这个权限给的过大啊,不过没有关系,我们先这么来,下节课我们再具体来分析这个东西啊,好,大家可以看到我们现在有了这个 hello war 啊,那就说明咱们的第一个需要的程序,需要文件的话呢,就已经执行成功了。好,这节课的话呢,我们主要是给大家介绍了在咱们 linux 里面常见的一些目录的结构,大家要记住在我们这个 pdf 里面罗列的这几个目录。第二个 的话呢,我们创建了一个需要的一个脚本,指定了他的一个格式,就他这个变异的变异器的类型, 然后我们用这个 a 口的话呢,输出,在输出的时候我们遇到了权限的问题,下节课我们会着重来讲这个图,那么既然没有执行权限,那么我们可以先给他添加一个权限,最后的话呢,我们就可以通过点斜杠的方式来执行。 好,那么这节课的话呢,我们就先讲到这里啊,谢谢大家。

从本次开始,我们开始来学习是要脚本编程的系列专题课程, 试药,脚本呢是我们在日常的工作当中一项非常重要的技能,熟练的掌握试药可以提高我们的工作效率,让我们的日常工作变得更加的便捷。本次课呢 是第一次课,我们首先来对 cl 来做一些相关的基础介绍,在本次课 我们来讲三点内容,我们首先来说一下什么是 c l, 再来学一下 c l 编程它有什么样的作用。最后呢,我们来看一下如何学习 c l。 简单来说这样呢,他就是我们用户和计算机进行交互的这个交互的窗口, 我们用户在使用计算机的时候呢,他是需要像计算机来发送指令的,比如说我们在文字当中,我打开 qq, 打开我的浏览器,用播放器看一个视频, 用音乐播放器听一段音乐,这里所有的操作其实都是需要向计算机发指令,然后计算机在收到相应的指令之后呢,他会打开 qq, 会播放视频,会播放音乐。 那么我们人和计算机的这个交互的过程就是发送指令,而发送指令的时候,他所通过的这个媒介就是所谓的 cl。 另外的话呢,计算机在执行完成用户的指令之后呢,他需要把指令的执行结果告知给我们的用户, 通常来说,他给用户来展示这个指引结果的时候呢,也是通过需要的方式来进行展示的,比如说他会 打开视频,让我们用户看到视频,他会打开音乐,让我们用户看到音乐。当然了,在有些时候,如果说发生错误,错误信息也是会展示在我们的视频当中的, 那么这就是实验用户和计算机的一个交互窗口。简单来说,我们的实验会分成两种类型,我们最为常见的是 图形化的摄影, windows 呢,他就是典型的图形化的摄影,就是所有的操作,我们会看到一个图形界面,这个图形界面简单来说就是我们通常意义上的这个桌面, 在桌面上有各种图标,我们通过鼠标可以去点击这个图标,然后呢通过点击图标的形式来向计算机发送指令, 那么 windows 的这种指令或者 windows 这种界面,我们叫做图形化的界面,也叫做图形化的摄像, 简称叫做 g u i, 它的全称叫做 greefice uzent face, 叫做图形化用户窗口。另外一种呢叫做自 字幅画的摄像,字幅画的摄像的话呢,它主要呢是没有鼠标的,就所有操作需要我们用户来发送指令,通过指令的形式来执行, 那么这种式药呢,我们叫做可爱,叫 c l i, 叫 cocomelinter face, 叫做命令行接口。至于说图形化式药,我们平时用的很多,但 大家呢都是比较熟悉的,但是自服摄像他其实功能更强大,而且他的工作效率会更高, 我们可以来简单看一下,比如说我这里, 像这里我们所看到的这个黑色的界面加白色的字体, 这个呢就是一个字符类型的。十二,我们向计算机发送指令,所做的所有操作都是靠我们的命令来实现的,我们说这种方式他的工作效率比较高,我们可以来演示一下, 比如说如果我们在文字当中,我想一次性创建一百个文件,比如说文件名分别叫做 a 一、 a 二一,直到 a 一百,那么他的操作是比较繁琐的, 但是呢在这种字符类型的试验当中的话呢,他的操作效率会非常高,我们可以来操作叫一点点 一百,比如说我们前面加个 a 吧,那么这样操作我们就直接创建出来了这里的一百个文件, 所以说它的效率是非常高的。那么这种试验呢,我们就叫做自服类型的试验,那关于它具体的使用,我们在后面的话也会做详细的介绍,我们现在呢只需要知道有图形和字符。 那我们学习试二编程有什么作用呢?我们通过试二编程,他最主要可以达到两个效果,第一提高工作效率, 第二可以实现自动化,提供工作效率呢,我们刚刚已经看到了,就所有的这种操作,我们通过试药的话呢,或通过这种命令行试药的话呢, 可以很快的把一些复杂的工作给他完成了,他的效率比较高。只是说前期我们可能需要来记忆几个命令,但是这些命令都很简单,这第一工作效率可以变得比较高。第二的话呢可以实现自动化 生产自动化呢,比如说我们的 windows 当中啊,经常会产生很多的系统垃圾,有垃圾之后呢,哎,我们需要手动来扫描,找到垃圾在删除,那我们通过这样呢,我们可以把找垃圾, 删除垃圾这一系列操作给他做一个自动化的任务,比如说我就让他每隔七天或或者每隔十天来扫描一次我的 c 盘,看看有 什么系统垃圾文件,如果找到之后呢,立刻执行删除操作,像这样一系列的工作我们都可以自动化的来实现,那么这就是事业编程才能够达到的效果。那么我们 学习这样的话呢,应该学习什么内容,或者该如何进行学习呢?我们学习这样主要要学习两部分内容,第一,我们需要来学习丽娜克斯的一些基础命令, 这是由于我们在这个使用需要的时候呢,需要目前他的一个主要的工作环境,就是在力量性当中来进行工作和使用的。第二,我们要学习需要的一些基础的语法和规范, 那么至于说力量操作系统的话呢,我们在后面也会做详细的解释的。以上是本次课的主要内容,希望大家通过本次课可以学到一些知识, 如果您觉得我们的课程对您是有所帮助的,欢迎您关注和收藏,谢谢!

大家好,我是靓仔三号。本期我们聊一聊谢尔命令行爱好者的福音,但也是图形界面依赖者的噩梦。今天我们来聊一下谢尔相关的背景知识。 经典的操作系统设计采用分层模型,最里面是一面之缘,外层依次是操作系统内核以及笑。相关书里经常以三个同心圆来表示,这样的话最外层也就是外壳,对应的英文单词就是笑,这正是笑的来源。 早期的计算机呢,很简单,没有重新界面,这样线就成了主要的计算机操作接口,用来执行用户输入的各种命令,所以 我们也把这种借口叫做命令行借口,也就是肯德诺来赢的 face, 简称 cri。 泻药,在本质上呢,其实就是一个命令行解释器。目前力量史上比较流行的泄露是精油组织实现的 boss, 还有 两个和小儿相关的概念,分别是终端、车面楼以及控制台空爽。早期的计算机庞大而且昂贵,因此是周围共享资源共同使用的。这种计算机本身配备的超多台呢,就叫做控制台。 大部分使用者通过终端机,比如癌变二七四幺或者 dncvt 一百连接到小型机或者大型机内, 配合的报警信息呢,会打印到控制台,但是一般不会打到终端。现在我们在 pc 上使用的终端或者控制台都已经是软件实现的了,他们磨砺了终端对键盘、光标、色彩以及响应的控制等等 效率。可以通过环境变量特来查看当前模拟的终端一否肯培养命令,可以列出当前终端之时的功能列表。最后我们介绍一下 tty 命令以及例子。 tty 函数 我们知道用利克斯精神模型里,每个函数默认有三个文件描入符,分别是标准输入、标准输出和标准出错。题外,命令可以检查当天的终端对应的标准输入文件名, 而 c 函数一则 tty 是用来检查对应的文件描述符是否连接到某个终端某线命令呢?比如 isos 会通过检查自己是否在终端类运行来决定输出的效果,比如是否带有颜色了等等等等。 因此相同的命令复苏到屏幕和重令上的文件,他的结果可能会不一样。好了,下面我们来演示一下。好,我们现在来演示一下。比如我们 a 口一个 tom 就知道我们当前的 tony 老师 除了眼花,我就看了我们配合一个像,就知道正品的像用的形式代替。然后呢,另外可以装上我们标准输入,其实 点击到的是 bbs pds 二,然后我们再给个视力,比如说我们把 a 口的结果从音响给 pdy, 这时候我们会发现 dy 爆了个头说 当前连接的标准输入不是一个体意外,这个时候我们是通过 a 口来把 a 口的输出输的空置服通过管道传给了体意外,这样的话,体意外的标准输入呢就是个管道。因此 对于 tty 而言,他的标准输入不是一个终端,我们可以看看 tty 的面孔长,这里他说了,他检查的是当前连接到标准输入的时候是一个通端。 接下来呢,我们再看一个有意思的人,我们运行一下经常用的 ls 定位,那很显然我们若隐可见,这里一共大概有一二三四五,大约五行。但是我们如果把 ls 的结果管道给 六 c 拨了 ctrl, 哎,他就会告诉我们这里有三十七号,那究竟是怎么回事呢?我们先把他的结果从营养到某个入手文件里,然后我们来查看一下,这个时候我们惊奇的发现,他的格式其实是和从营养到终端其实不一样, 为什么呢?因为 ls 定理呢?他就会检查当前的标准输出是不是由中端来决定到输出的这个结果。这个格式我们可以查看一下 ls 里面代码在兼优的 coutus 里面, 其实这里有一个小技巧,就是直接搜一个 tty 这个函数啊,其实在这里啊,在这个 一千八百四十六行会明显的发现他被检查标准输出文件是否是一个 tty, 当他是一个 tty 的时候呢?他就采用 many flan 这样一个格式,否则他就一行展示一个, 一行展示一下。所以在这里不同的这个输出 ars 其实是有不同的结果,这也就是我们看见为什么 rs 的结果同样被融进以后弹起了不一样的原因,你学会了吗?