粉丝309获赞1208

今天来给大家说一点少儿脚本,假如你建了一个网站,建完网站上线之后,你很好奇每天有多少人会有访问我的网站呢?这些人他的 ip 地址都是哪的?最喜欢看哪一些页面? 呃,当然了,你可以使用一些现有的统计平台,这些网络长得就很像 up 主的 b 站创作中心,有这些类似视频数据一样的图标。呃,你说了,我建网站配置服务器已经够累人了,我不想去注册乱七八糟的网站,而且我就想简单统计一下,在这种时候使用 excel 本就最好了。 就拿从日制文件中统计访问前五的 ip 来举例吧。我们需要处理类似这样的日制,每一行它都由 ip 地址、日期等等信息组成。处理这样的一个日制文件的脚本,它的核心代码是这样的,哎,孩子们别怕,看到一串不熟悉的代码,头晕是正常的。 我呢,会一点一点掰开来给大家解释一下。 alt, head 这些可以看作不同的函数,后面跟着的则是参数,中间的竖杠是管道符,就是把上一个函数的结果拿过来传给下一个函数。 然后呢,在 alt 主行匹配的这个模式里面,上,微这个是声明一个变量的意思。这一个像大括号一样东西是 if。 在 这个模式匹配之外呢,两个中括号则是 if 这个暗的红。在所有的操作之后执行。这个 dollar 符号是一行里边空格、分格的第几个字段的意思。从 dollar 一 开始, dollar 零表示整行, 所以这一整段的意思就是声明变量 d 等于 target date。 如果第四个字段是 d, 并且第九个字段是两百,也就是请求成功的日期的话,我们就把第一个字段的技术增加,一并列完所有行之后,输出每一个不同 ip 的 技术。 所以呢,这一长串总的来说就是我把日期文件的每一行按这个模式过滤出我想要的参数,即 ip 以及每个 ip 有 多少个,然后按照 ip 有 多少个,从大到小排序,选举前 n 个, 边输出到屏幕边写入到临时文件里面。当然了,一个好的 excel 脚本,光写出核心代码还不够,我们需要选择执行的 excel 的 程序,还需要设置安全模式,解析传入的参数,把整个逻辑可以函数化的部分函数化,以明晰每个函数的职责。 如果我们的脚本出错了,要输出足够清晰的错误提示,如果不需要临时文件的话,则要在脚本退出的时候清理,写完了还最好要绕一下静态检查和格式化。 所以说工程科学都是细心的学问啊。其实呀,这一每一项去吸取的话都不难,毕竟这些标准都是人通过一点点试错制定出来的,我们不要怕学习,不要怕犯错,俗话说的好,前人犯错,后人乘凉。

兄弟们好,我是阿明,你是否在执行闪耀脚本时,因频繁输入多个选项而烦恼?尤其是决赛圈突然掉悬浮窗了等这样一个一个手动输入开启,黄瓜菜都凉了。那么我将用一段代码来解决这个问题。首先我们先新建一个闪耀脚本文件,然后打开编辑,学过编程的兄弟肯定知道, hello 哇哦, 这也是接触到的第一段代码,它的作用呢,就是打印输出字符号喽喔,当然我们今天要它打印的是别的字母,也就是我们输入的这些,先手动开启一遍记一下,然后删除填入记住的字母保存执行一下看看。对它打印的就是我们要输入的,不过每次输入一个字母之后还需要换行,很多语法中通用换行以恩来表示, 那么我们给每个字母后面添加 n, 在 执行之后每个字母就会换行,做打印的已经没有问题了。但是我们要对内核脚本输入其实也很简单,可以通过管道符来实现,它的作用就是把左边的输出结果给 右边的命令输入内容,此时我已经添加了个管道符号。接下来我们给一个执行内核脚本的命令就行了,试试执行,谁要脚本后面给到脚本滤镜,长按要执行的脚本,点击属性复制名称 给他粘贴上去,这里可以是脚本名称,也可以是绝对路径。就这么一段简单的代码,可以让我们快速启动脚本,现在执行测试一下效果, 他零点一秒基本就输入所有选项,并且开启成功,悬浮窗已经出来了,防录屏看不到而已。再讲一下第二种情况,有的脚本需要执行驱动,就像橘子每次都要刷一遍驱动再执行脚本, 由于橘子没更新了,先用 bin 代替演示,后面要是更新了,可以用这个方法执行两个脚本,就给他复制一行两条命令就行了,就改一下执行要输入的选项字母和脚本名称。 bin 的 驱动没有输入选项命令为直接让他执行脚本就行。是执行命令加脚本名称或路径, 依旧改名称,改输入字母,完工执行。看一下先执行驱动,再执行脚本,一瞬间就好。那 那么这个就是脚本启动器,我们可以在这个基础上升级一下,新建一个就叫自动启动器,在启动器的代码基础上再自动发一点,通过应用进程来执行脚本,当我们打开应用的时候,检测到应用进程就会自动执行脚本,这样就不用每次去管理器执行脚本了。应用包就填你要检测的应用, 可以到安装包提取里面复制包名,找到你脚本的应用或游戏。我这边就拿浏览器来演示,点击包名复制 粘贴到应用包名,剩下的两个就应该不用我说了,和启动器里面步骤是一样的,每次开机仅执行一次就不用管了,只要点了执行就直接可以把后台退掉了。 好的,现在我们来测试一下自动启动器效果,当我们打开应用的时候,后台自己执行脚本,这样就不用每次去打开管理器去点这点那了。可以看到悬浮窗已经出来了,说明执行成功。 ok, 那 么这就是本期的视频了,代码我会放到评论区,如果你对此感兴趣的话,别忘了点赞,还有关注,我是阿明,我们下期再见。

其实就是一些临时文件嘛,咱们这边在咱们的 c two 服务器上生成一个后门脚本文件,就是这个样子,最简单的一个反弹效命令哈,这边它是建立一个 tcp 的 连接,就是第一位 tcp bash 杠 i 是 linux 的 一个系统级的一个执行命令, bash 嘛, bash 就是 一个系统级的几 执行,然后 bash 杠 i, 然后呢这边就是第一位 tcp 选择 tcp 的 连接方式。这边的 ip 呢,写上咱们的 c two 服务器端口的话呢,随便写都可以,因为这是咱们要监听那个端口,随便写都行。

欢迎你收看窗口管理器补完计划的第二期内容,我们今天呢一起来看一下有哪些用户的脚本,我的一些 personal scripts, 它可以帮助我更好地使用创管软件,或者说缺少了这些脚本呢?这个创管软件它一定是不完整的,很多人是没有办法来正常地使用它的,在你精神不崩溃的前提之下, 那么我们来看一下,我在我的 github 和 codebird 的 这个代码仓库里面都列出了一些值得推荐的我自己编辑的一些脚本,我们可以一起来查看一下。比如说呢 denbox, 在 denbox 这个脚本呢,我之前专门介绍过它的, 那它是使用了 posix 的 语法编辑的一个支持信号捕获,支持每一个模组呢,有独立的刷新时间的这么一个脚本,也说它可以十分的具有效率, 比如说我的这个音量,我的亮度,如果没有调整我的音量,没有调整我的亮度呢?它永远都不需要来不停的检查当前的亮度和音量是多少。 那每当我调整亮度和音量的时候,它可以瞬间的实时的反馈我当前的亮度的变化,这就是它可以来支持信号的补货的一个意义所在,既节省了资源的占用,并且呢它是没有任何的延迟的。 那么还有一些模组呢,他有不同的刷新间隔,比如说时间模组,可能有的人想要每隔一分钟来刷新一下他的时间,如果他不显示一些秒数的话,那这个模组呢?哎,既然我在以前的视频里面已经介绍过他了,我在今天呢就不做一个多余的赘述。那值得一提的呢,就是 如果你对你的系统足够了解的话,你对于 linus 的 这个文件系统,那或者说一些虚拟文件系统足够了解的话呢,你会明白,你并不需要安装什么监控的软件,你并不需要来使用一些特殊的命令,只需要使用最基本的那个 newcurious set graphok cat, 你 就可以来获得你想获得的任何硬件的信息。它 们基本上全部都在 linus 的 这个虚拟文件系统里面。那么我们可以来看一下第二个脚本叫做 shoot, 使用一个独立的窗口管理器呢? 那怎么来进行屏幕的捕获,进行截图呢?假如说你使用的是一些像 ginorm, 它应该自带了截屏的功能了。但是像你使用的像我使用的 river 呢,它绝对是不会支持这种功能的。所有的事情呢,是需要用户来进行自行定义的。 那我们来查看一下我写的就叫做 shoot 的 软件的。实际上它是使用了 w menu 来选择一个显示器的,比如说我先按一下 super 加上 g。 哎,如果我们在另一个窗口来打开我的路由的配置文件,它叫做 bindings。 在我路由的配置文件里面呢,我们来查找一下 stored。 同时呢,我把我当前的这个窗口呢发送到二号的工作区。在 stored 里面呢,如果我不给他任何的选项呢,他就会来执行输出 output, 也就是让我来选择某一个显示器。这个显示器呢,当然是使用了 w menu 进行一个选择的。那怎么来列出显示器?比如说我们来列出一下啊,我现在只有这么一个显示器, 那如果我给它传入了 dash geo 的 选项,或者说 dash out 的 选项呢,它就会分别的来选择一个屏幕的区域,或者选择所有的显示器。假如说你有超过一个显示器的话,它就会在所有的显示器生成同一张截图。呃,或者说就一张截图包含所有的显示器,那我们来试一下 mod shift 加样机, 就可以来选择某一个区域进行截图。如果我们来打开我的文件管理器,查看一下这些截图呢,刚才选择的这个区域呢,它确实是出现在了 sweet image 里面的。 那我们看完了截图竖着之后呢,我们来看一下 capture, 实际上我现在录制视频的时候呢,使用的呢,它就是 capture, 必须得小心啊,我们来做一个示范,比如说 capture 运行一下它, 直接运行它呢,它会让我们来选择某一个显示器。选择完这个显示器呢,会来选择一个音频的设备。假如说我按一下 esc 没有选择音频设备呢,它就会终止这个脚本,或者说我没有选择显示器呢,它也会终止这个脚本,除非呢,让我们来查看一下。但是 h 你 可以给它这个大写的 m 选项 就是静音这个样子呢,我并不需要来选择一个音频设备啊,音频的 source 源,它也可以来进行录制,同时呢,你可以修改它原声的 ips 和这个编码的。让我们来查看一下。少呃,这个 capture 这个脚本它是怎么来进行编辑的呢? 首先呢,它的主体就是来检查给它传入的这些参数,最重要的一个函数呢叫做 stuff capture, 那我在这里面呢选择了一个显示器,使用的是 w menu, 和刚才我们说这个截屏的时候呢,实际上十分的类似的。那如果,呃,我没有选择静音的话呢,我必须要来选择一个音频源,如果选择静音的话呢,就可以来跳过这个环节。最后呢使用的也是 wf recorder 来进行一些录制,那根据我指定的这个 fps 刷新率,指定的显示器,指定的音频的设备。 同时呢我想要来使用这个 gpu 进行录制,然后选择一个文件的名字, 那你看到这个文件名呢?我选择了两个 shell 的 变量,因为这个参数呢,有可能并不是按 piece, 而是我指定的一个变量,那把它写入到了我指定的这个位置,在我用户 java, 呃, slash tab, slash capture 这个位置里面, 那这就是我来录制视频的这么一个脚本,我觉得十分的好用。然后呢 record 在 uschat 播客节目里面啊,在 uschat 播客节目里面所有的这些内容呢,它全部都是使用了 record 这个脚本来进行录制的,那它就是让我来选择某一个音频源进行录制,然后我们来看一下 speaker 这个脚本。 嗯,有的时候呢,你连接了很多的音频设备,比如说你的电脑可能有好几个不同的音箱,又插着耳机,可能还连接着一些蓝牙的耳机,蓝牙的音箱怎么来选择某一个设备进行播放呢? 呃,有的时候呢,一些窗口管理器,它里面的一些软件呢,可能是没有那么的智能的,所以说我可以来手动的选择,我已经在这个 rewind 的 模式里面了, rewind 的 mode 里面呢?如果我们来查看一下 mode, 我 定义了这么一个 mode, 如果我按一下 mod 加上 w, 它就会在我屏幕的上方呢展示一些提示的按键,比如说 s speaker 就 可以来选择我要使用哪一个音频的输出设备来播放我现在电脑的一些声音。 那么有了这个 record 之后呢?呃,有了这个呃 speaker 之后呢?我们来看一下怎么来控制亮度呢?还有怎么来控制音量呢?在大部分的独立创管器里面呢,这确实不是创管器的项目,创管器的作者需要来考虑的事情了。 那我们来查看一下 bright 这个脚本,它是高度的,和我路由的配置进行一个集成的。那我们来查看一下我的这个呃路由的配置文件,不小心把 bright 的 这个脚本给关掉了,那在这里面呢,我来搜索一下 bright。 bright 可以 支持两个选项,一个叫做 minus, 一个叫做 plus。 那 还有一个选项就是 node, 这是我在我的这个 sway idle 里面来查看的, 所以 idol 因为我每当呃屏幕进行了呃,或者说我的这个绘画呢, 有一段时间没有任何的交互,我的鼠标,我的键盘,我没有播放任何的视频呢,那就会来调整降低我屏幕的亮度,每隔呃到了十分钟之后呢,我的亮度就变成百分之四了。呃,在到了十五分钟的时候呢,我就把显示器完全的关掉了, 那我并不想让它在这种情况下,不是我手动调节亮度的时候呢,在我的屏幕上来显示这个 warp 的 进度条,所以说我给它有了一个叫做 no 五的选项,那就是直接 把我当前的亮度呢传给了这个 pulsatus idle 的 函数,这个函数呢,就是不需要使用 t, 呃,我想我应该使用的 t 把它写入到一个 warp 这么一个命名管道里面的 同时呢,哎,你观察到了,我定义了两个在锁屏模式下的按键,也就说我锁屏的时候呢,也是可以来调整我屏幕的亮度的。那我们来看一下 audio。 audio 和这个 brand 的 意思呢?是十分类似的,只是它是来控制我的音量的,它可以来控制我录制视频的音量,可以来控制我播放视频的,呃,播放任何音频的音量,包括了静音的调整。 然后呢,我们来看一下 address。 address 这个命令呢,它是一个通用的,呃,不局限于某一个软件,不局限于某一种场景,呃,我都可以来收藏一些字幕串,那可以是一些 u i r 呃, url 地址可以是一些,呃,比如说我的邮件,也可以是任何我想要来,呃,记录的,我想来随时复制粘贴的一些事情。那如果你查看一下我的邮件,也可以是任何我想要来,呃记录的,我想来随时复制粘贴的一些事情。那如果你查看一下我的这个配置文件呢?我在 local shell 里面呢, address 包含了一个 视力的文件啊,这是我不介意分享的一些地址。那么这些视力的文件呢?你可以观察到它是支持关键字的缩影的,比如说 fjoy 的, 这是两个可以来进行缩影的关键字。但是真正我想要来复制的网址呢,是后面的这些网址。我在使用缩影的时候呢,呃,我可以使用 for nike 进行缩影,但是我真正粘贴的时候呢,它只包含了我想要的这个 ui 的 地址。那这是我使用了什么呢?我使用了 shell 里面的 side, grab, arc 里面的哪一个呢?我来查看一下,应该使用了 arc 进行完成的。那最后呢,我想来看的两个脚本呢,一个叫做 side, 一个叫做 seal。 我 实际上并不确定 他是不是读作 side 啊,应该就是读作 side。 这两个脚本呢,都是我这两天才写的,我是十分的满意的,实际上只是把我以前的一些老旧的脚本呢进行了一个整合,进行了一个整理。 side 这个脚本呢,是来管理各种各样的快设备的。你的 usb 的 一些硬盘, u 盘,他是可以是一个加密的设备,也可以是一个没有加密的设备。我可以用这个脚本来进行挂载,可以进行加密解密,可以进行这个断电弹出。 但是呢,它是使用了 bios 作为它的命令解释器的。这是为什么呢?因为我想来使用一个叫做 process substitution 进程替换的特性。它并不是一个 posix shell, 比如说 bios 所具备的特性。但是呢,它可以让 我不把我真正的密码呢写入到一个临时的文件。那我写入到临时文件之后呢,我当然可以在事后呢对它进行一个删除。我可以使用 trap 来捕获一些信号,比如说这个脚本中断了,终止了, 可以来保证这个文件是被删掉的。但是呢,我并不喜欢把它写入到一个文件里面。呃,即使它是在这个虚拟文件系统在内存里面呢,我也不想要这样做,因为别的进程呢,就可以来访问这个文件了。但是呢,我把它呃在这个管道里面呢,它是在这个 file decrypter ft 里面,呃进行保留的。 不管怎么说呢,我们来查看一下。它是使用了 w menu 作为一个密码的输入的。如果,呃,我来运行一下 list block。 我 现在有 sda 这么一个块设备,它里面呢有两个分区, sda 一 和 sda 二。如果我们来运行一下 sid 这个脚本 不给他任何的参数和选项呢,他会打印出一个使用的方式。为什么叫做 saddle 呢?呃,因为你来挂载这些设备呢,这些快设备呢叫做 mount, 它有一个 mount point 挂载点。那我觉得 saddle 就是 一个十分合适的,呃,因为它是马鞍。呃,怎么说呢?呵呵,不管怎么说,我们来查看一下 saddle。 当然是 m。 对一个没有加密的设备进行挂载呢,就会直接的挂载了啊,他已经有一个挂载点了。对于一个已经加密的设备进行挂载呢,他会使用 w menu 邀请我来输入一些密码,那我并不想要来在屏幕上展示我的密码或者密码的长度,呃,我就不来做一个多余的展示了。对于一个设备, 如果我们对它进行完成操作了,我们可以使用但是 u 选项来进行卸载,我们可以使用但是 e 选项,也就是卸载之后呢,同时也进行一个断电。当然我没有对 sda 进行挂载,我是对 sda 二进行挂载的。 这样子呢,呃,分区呢?它都已经看不见了,这个设备已经完全的被弹出,已经完全的被断电了,这是 side 这么一个十二的脚本,可以帮助你对你的这个快设备,你的硬盘呢进行管理。 然后我们看一下最后的一个脚本叫做 seal。 seal 的 意思呢?并不是海报,它是封印。那以前呢,可能有的人写信的时候就会使用火漆啊,使用一个印章在这个信封上面做一些记号,来保证没有人可以轻易的来拆开来篡改它们的内容。 那你可以猜到 seal 这个脚本,它是一个 g p g 的 脚本,可以帮助我对一些文件的进行对称加密,不对称加密,或者说来 预览一个 g p g 加密的文件,并不需要把它写入到我的硬盘里面。虽然说啊,我刚才忘记说了,我所有的这个呃硬盘呢,都是进行了 locks 的 全盘加密的,但是呢,我也不希望把它写入到这个硬盘哦,写入到文件系统里面,比如说有某一个 嗯进程某一个软件,也许它存在着漏洞,也许它可以来查看我的某一个文件,我并不希望这种可能性发生。所以说对于呃,我要使用 g p g 加密的文件呢,我要对它进行查看的时候呢,我就想要在管道里面对它进行查看,使用 g p g rifle 对 它进行一个预览。 然后我们来举个例子吧,比如说我可以来使用 echo hi 把它写入到 a 这个文件里面,我们来 cut a, 那 这个文件里面呢?就有 hi 这么一个秘密的字母串,没有任何人知道它有什么样的含义。如果我想要对它进行加密的话呢,我就可以使用 see 直接来运行 c u 呢,同样会打印它的使用的方法,我们来查看一下,如果想对它进行一个对称加密呢,就是 c o, 但是 c cipher 选择一个加密的算法,默认的使用的是 a, e, s 二百五十六,选择我加密的文件叫做 a, 然后呢,我来输入我的这个密码。 输完密码之后呢,我们再次来查看一下,多了一个叫做 a, e 的 g, p, g 的 文件使用 ked 呢,它是一些二进制的乱码,没有任何人可以理解它可以解密它,除非呃你是知道它加密的时候使用的这个 passphrase 密码的人。 那我可以使用 c, 但是 d 可以 对它进行一个解密。 a 到 jpg 解密的时候呢,我就需要来输入它的密码。如果密码正确呢,被加密之前的内容呢,就会出现在我的终端里面被打印出来了,这是呃用它来进行一个对称加密的方式,同时呢,你可以使用不对称加密,或者说呢,你可以使用这个 sorry 进行一个签名。 那么我们可以拿什么呢?我们可以拿对称加密或者向量来举个例子,或者我们来查一下这个代码怎么写的,因为你选择这个呃加密或者签名的时候呢,是需要来选择一个公钥或者私钥的。那你需要来选择哪一把钥匙呢?就是通过 w menu 进行一个动态的选择的。我并不想真正的来展示这个命令,因为他会把我的这些公要和私要全部都列在我的屏幕上。哎,但是呢,有了这么一个脚本呢, 就像我们选择任何的这些使用 w menu 的 脚本一样,我们可以在这个动态的菜单里面来输入来进行一个模糊的寻找, 还是十分的方便的。那么以上呢,就是本期视频我想要来介绍的一些来补全装管理器的十分重要的一些用户脚本,对于我来说呢是十分重要的。那么我是 uschat, 我 们下次再见。

大家好,欢迎来到 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 口的话呢,输出,在输出的时候我们遇到了权限的问题,下节课我们会着重来讲这个图,那么既然没有执行权限,那么我们可以先给他添加一个权限,最后的话呢,我们就可以通过点斜杠的方式来执行。 好,那么这节课的话呢,我们就先讲到这里啊,谢谢大家。