粉丝2.6万获赞13.7万

笑是我们与计算机最原始也是最基本的交互方式,在我们的日常开发、服务器管理或者自动化脚本中,也都会看到他身影。 在今天视频中呢,我将带大家揭开秀的面纱,并了解秀命令的基本使用。我们现在使用的操作系统呢,其实都自带华丽的图形操作界面, 但是在早期的计算机中,是没有图形界面这个概念的。用户和操作系统的基本交互是通过一个叫做 shell 的东西来完成的,也就是这个黑屏白字,又通常被我们叫做命令行的东西,他就像是我们能够触碰到的操作系统的外壳,所以也被叫做 shell。 我们都知道图形界面简洁直观,容易上手,但其实图形界面能做到的事情,用 shell 也都可以完成。那可能有人问,现在大家都在用图形界面了,像 shell 这种用 复杂又需要背诵指令的东西,就真的没有用武之地了吗?答案当然不是。比如你租了一个服务器,对服务器的管理通常需要用 cell 完成。如果大家看过之前数媒派的视频,也知道数媒派与主机的通信默认也是使用 cell 完成的。 为什么?因为图形界面通常会占用一定的系统资源,所以服务器默认不会安装。因为图形界面对网络带宽的要求也比纯文本的笑要多得多。 使用 show 还有一个好处, show 本身也是一种脚本语言,也就是说我们能用它来做一些自动化的事情,比如定时关机、批量处理图片、自动生成文件列表等等。 需要的种类呢,其实也有很多,除了我们最常听到的 bash, 在内内个生态圈里其实还有 bone shell, seashell, corn shell, z shell, fish 等等。 windows 上也有大家熟悉的命令提示服务,以及微软独创的 powershow 等等。这视频呢,我们也是以 bash 为例,来给大家讲解一下 sale 的基本使用。 bash 的用途呢,更为广泛一些,语法也更加清晰易懂。如果大家正在学习 linux, 就更加绕不开这个话题了。 对于 windows 系统的小伙伴,其实 windows 下也是完全可以使用 bias 的。这里有两种办法,一种是安装 wsl, 也就是 windows 下的 linux 系统,大家可以根据微软官方提供的文档,按照上面的步骤进行安装。 还有一种是比较简单的,就是直接安装 get 客户端, get 自带了一个轻量级的 bash, 用它也可以完全胜任这个视频中讲到的所有内容。安装完必备的工具之后,我们可以打开系统自带的终端来进入 show。 在 mac 和 linux 啊,我们都可以找到一个叫做 terminal 的程序, winner 下呢?我这里使用的是 winners terminal, 因为它界面看起来更加漂亮一些。 当然你也可以直接使用系统默认的或者是 get best 提供的终端。在 share 里,我们可以通过输入命令的方式来对计算机下达指令。 校友中最基本的操作就是对文件的管理,比如我们可以通过 ls list 命令来列举当前目录下的文件。那我们怎么知道当前位于哪一个目录下呢? 通常当前目录会直接显示在命令提示符的左边。当然我们可以使用 p w d print working directory 来输出当前目录的完整路径。当前路径呢,又被称作是工作路径,这也是为什么叫做 working directory 的原因。需要注意的是,在 bash 或者说在 unix 的 延伸系统下,路径的分隔符是正斜杠,这和 windows 下使用的反斜杠是不一样的。如果我们要切换当前的工作路径,我们可以用 cd change directory, 比如这里,我们可以通过 cd music 进入当前路径下的 music 目录。 如果要退回到上一集目录,我们可以用 cd 点点点点在这里代表当前目录的上一集目录。当然,用来表示路径的呢,至少有其他的一些特殊符号,比如波浪号,代表当前用户的 home 路径。 linux 下的每个用户呢,都有独立的 home 路径,比如用户的桌面文档都是保存在各自的 home 路径下。另外呢,我们在使用每个命令的时候,都可以跟上一系列参数,比如我们在使用 ls 的时候,可以跟上一个横杠 a。 横杠 a 是一个额外的参数, 他代表显示目录下的所有文件,包括隐藏文件。我们也可以通过 ls 横杠 l 来以列表的形式显示目录下的文件。这个参数呢,会显示文件的详细信息,比如文件修改的时间以及文件的所有者等等。 我们还可以将两个参数结合起来,比如这里的 l s 杠 l 杠 a。 不过它其实也可以写成更加简单的 l s 杠 l a 的形式。另外,在 nenex 下,文件是区分大小写的,也就是说,你可以创建两个由相同英文单词组成的文件名, 只要他们大小写不同,系统都是允许的,这点呢,和 windows 是不一样的。另外,我们在列举文件的时候也可以使用到通配符,比如 lsa 星则会显示所有以 a 开头的文件星号, 在这里呢,会去匹配零个或者多个任意的字符。如果我们输入 lsa 问号 c, 这里的问号呢,只会去匹配单个字符。 我们怎么知道每一个命令的后面可以在追加哪一些参数呢?这个我们可以使用到命令自带的帮助信息,比如我们可以在 ls 后面加入杠杠 help 则会显示 ls 命令的帮助信息。注意,这里是两个横杠,因为后面这个参数 help 并不是让我们之前看到的,只有一个英文字母的简写。 现在大家也可以使用 man, 也就是 manual 命令来显示命令的操作手册。我们在 man 后面跟上命令的名称就好了。如果要创建一个文件夹,我们则可以使用 maker, 也就是 make directory 命令,后面跟上目录的名称即可。要删除一个 路径,我们则可以使用 rmd, 也就是 remove directory 命令。如果要创建一个空白的文件,类似于我们右键菜单中的新建文件。在 best 中呢,我们可以用到 touch 命令,我们只需要在 touch 后面跟上要创建的文件名称即可。 复制文件呢,我们可以使用 cp copy 命令,我们可以输入 cp 空格,后面跟上要拷贝的文件名空格,然后输入目标文件名。这里的目标文件呢,其实也可以是一个路径,代表将原文件复制到这个路径下。 移动文件,我们则可以使用 mv move 命令,和 c p 一样,它有两个参数,原文件和目标文件。如果我们要对一个文件进行重命名,我们也可以用到 move 命令。如果我们要删除一个文件或者目录,我们也可以使用二 rm remove 命令,我们在 rm 后面呢,跟上文件或者目录的名称即可。如果我们要删除的目录里面呢,还有其他文件的话,我们则需要提供横杠二参数,这个参数呢,代表地规的删除目录下的所有文件。另外,由于删除操作呢,属于危险操作, 我们也可以使用横杠 f 来强制命令的执行。所以如果大家看到 rm 横杠 rf 这个命令,一定要非常小心。这个呢,也是大名鼎鼎的山库跑路命令,大家没事的话呢,就不要去尝试了, 要知道在命令行下呢,是没有回收站这种说法的,删了就是删了,后悔也来不及了。在秀中,如果我们想显示某一个文件的内容,我们可以使用到 cat 命令,我们在 cat 的后面呢,跟上文件名即可。 cat 会向屏幕输出文件的所有内容。如果文件内容比较长的话呢,我们可以使用到另外两个命令, head 会显示文件的头几行,比如下面这条命令会显示 bash vicky 文件的前五行。同样,我们可以使用 tail 命令来显示文件的后几行。 如果我们想对一个文件进行全文搜索的话呢,我们则可以选用到 grip 命令,比如 grip 单引号 a bash wiki 点 t x t 会显示文件中所有包含 a 文字的行,这里所有匹配的文字呢,也都会以红色高亮的形式显示出来。 最后呢,在秀中其实还有个非常重要的特性,那就是派管道也被叫做是重定向,他可以将一个命令的输出作为另一个命令的输入,就好像是搭建了两个命令之间的桥梁,所以也被叫 叫做管道。比如我们可以通过管道将 l s 命令的输出传递给 head 命令,让它显示前三行的内容。当然我们也可以和 grip 组合起来,从中挑选出包含有 a 文字的文件名。我们还可以将它传递给另外一个 sword 命令来按照文件名的字典顺序进行排序。 在今天视频中呢,其实我们也只是讲到了 shell 的冰山一角。其实在 shell 中,我们几乎可以完成对计算机的所有操作, 包括网络管理、系统设置、用户权限管理等等。我们甚至可以在需要中运行功能全面的编辑器,甚至音乐播放器等等。我们也可以将不同的命令组合起来,变成一个可以帮你偷懒摸鱼的自动化脚本。

通过十二脚本一键安装 linux 常用环境需求,背景式新安装的 linux 系统往往需要各种环境安装,浪费时间。针对这个现象的准备出了一个十二脚本 一键进行安装常用软件。这里呢,我们先创建一个新的虚拟机,只要点击下一步起一个名称,我们这里叫 note, 选择一个存放的位置继续下一步, 点击安装,在这个界面呢,我们选择中围, 我们需要把网络打开,我们点进去这里呢,点击开启,那这里呢就会有 ip 的一个展示,我们点击完成,设置一下密码,点击完成到这里呢,提示安装成功,我们点击重启这里进行登录 一下。这里呢,我们先查看一下 ip, 我们再排查一下网络是否通,我们拼一下百度, 那网络是没有问题的。接下来通过叉十二连接一下,到这一步呢,新的 linux 已经搭建完,我们先来看一下这个脚本,最开始记录脚本呢,开始时间 更新,原列举出要安装的常用命令,那如果是安装刀口,则进行刀口的安装,否则进行其他命令的安装。在下面呢,需要安装 get, 安装 merry, 安装 gdk, 紧接着配置环境变量,关闭防火墙。最后呢,记录一下脚本的走耗时,创建一下这个脚本,粘贴进来进行保存, 然后执行一下。 现在已经开始进行安装,这里呢,我们现在暂停一下,到这里脚步已经执行完成,耗时五百一十秒,那我们来验证一下。首先查看一下扎网 啊,闸网是没有问题的,单位已安装成功,再查看一下 get, get 已安装成功。最后呢,查看一下刀口 都可以安装成功,通过这个角位呢,我们就可以做到一键安装常用的各种环境,今天就分享到这,谢谢大家。

今天来给大家说一点少儿脚本,假如你建了一个网站,建完网站上线之后,你很好奇每天有多少人会有访问我的网站呢?这些人他的 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 的 程序,还需要设置安全模式,解析传入的参数,把整个逻辑可以函数化的部分函数化,以明晰每个函数的职责。 如果我们的脚本出错了,要输出足够清晰的错误提示,如果不需要临时文件的话,则要在脚本退出的时候清理,写完了还最好要绕一下静态检查和格式化。 所以说工程科学都是细心的学问啊。其实呀,这一每一项去吸取的话都不难,毕竟这些标准都是人通过一点点试错制定出来的,我们不要怕学习,不要怕犯错,俗话说的好,前人犯错,后人乘凉。