00:00
那么刚才呢,我们已经给大家介绍了文件的搜索的多种方式。呃,提到了文件的搜索条件。非常丰富,可以指定文件的名称。可以指定文件的大小。这个大小呢,我们刚才看到了,有后面精确的写一个值,比如说我们要写个,哎,我请问大家一个问题,我要写一兆,你说它找出的文件是什么样的文件。一兆,那一兆你要减个一,那不就减出零了对不对,所以那最终你找到的文件就是零啊,一兆之间的所有文件啊,那你要找两兆,那就是一兆到两兆之间的门径啊,所以这个它这个搜索条件的定义表达是。一个范围并不是一个精确值啊。
01:01
那除了文件的大小是这么个逻辑。那事实上时间它也是这么个逻辑,那我们都知道文件呢有三个主要时间,Atime。M time c time。那这个时间也是一样的逻辑,比方说a time后面跟上一个数字,比方说我们26。这个默认是以天为单位。所以你a time后面跟个六,表示是六天的意思。但是他这个六天表示的并不是说这个a time是六天。它是加一。那就意味着你这个文件的读时间。是六天到七天之间。变化的。他记录的是这个。那如果你写的是加六。表示的是。
02:00
七天就六加一是七,七天以上的。时间超过七天以上的。那减六表示的是6000以内呢?那m time c time是一个逻辑。那另外呢,我们天的话,这个时间有点太太长。那也可以以分钟为单位。以分钟为单位呢?那就是换成这个A命M幂,C幂。啊,命minute是吧,那个分钟的英文单词缩写。那这样的话呢,我们就可以分钟为单位了。那比方说我要找。写一我这个是min,这是什么意思,如果这写的一。按照我们刚才逻辑找出来的是什么样的文件?
03:03
什么逻辑呀?是不是这个呀,就是一加再加一嘛,那是不是有一分钟到两分钟之间变化的文件。对吧,啊,所以如果我们要减一。减一呢?是不是就是一分钟之内发生文件的变化?对吧,所以这个呢,将来我们可以在呃,你的系统中做一些事啊,比方说我现在改了一些文件啊,例时我们就创建个账号得了。那我们再创一个账号。啊,创建一个谁呢?我看刚刚发言的是建龙同学是吧,建龙哎,那我就建个账号,当然我建账号的话,我们都知道它自动的会在磁盘上修改一些文件,对吧,那我们就很关心啊,到底在跟下面哪些文件在一分钟之内。
04:03
发生了变化。哎呀,我们发现变化的文件好多呀。啊,那事实上有些文件我们不关心,你像C。并括包括我们刚才说到的什么PLC,这些都是内存中的数据,实际上也是可以过滤掉的啊,当然我们你像这个瓦呢,有些也是。库的东西,我们日志啊,这些东西我们都不关心,那比方说我们就只搜这个目录吧。诶,大家发现没有啊,闹了半天,我们去创建账号的时候,他改的也就是这几个文件。那大家熟悉的那四个文件看到了吗?ETCW啊ETC啊等等啊,他自然的就改的是这些文件啊,当然还改了一些其他文件。好,那所以我们将来用这种方式,你可以找,诶,到底哪个命令执行了以后,到底很可能改了哪些磁盘文件。
05:05
那这个图呢,就是把。根据文件的大小,根据时间。来作为搜索的话,它的一个总结图。但是这个时间,这个图是咱们一个学生画的。啊,大家看这个时间,虽然图画的还是很。很用心的是吧。啊,同学们有没有这样的一个学习的精神。自己做总结的时候,能不能画出这么好看的一个图来?这是一种学习态度的体现啊。啊,别说没时间啊,待的时间都是24小时都一样。有些同学就特别认真,然后做的笔记非常详细,相信大家学完以后啊,肯定会忘掉很多很多,但是笔记留下,只要笔记在。
06:01
就没有白学。如果你笔记也没有。你肯定也记不住,等课程结束以后。回忆这五六个月学啥了,大脑一片空白,啥也没留下,只有王老师留下的笔记是吧?啊,当然我这个笔记还是不错的啊,但是我希望你们自己还是有一些自己留下的笔记啊,比方说你留一个葵花宝典嘛,对不对啊,最后毕业的时候将来找工作,你你不能复习我的笔记啊,我这笔记没法复习,太多了,几千页呢。啊,前两天我总结了一下,至少三四千页吧。三四千页呢,我们现在才几页,你数数啊,我们现在一页页是刚开始。啊,就就这你看这个打印出来啊,这这个这这个一章实际上没有题,前面咱们学的东西还比较少,你打出来几千页,那你说你面试你不能看着几千页去复习啊。
07:00
还得靠你自己总结的,面试保底啊,那大家下来还是要该总结总结啊,当然大的不用做了,这个这个笔记可以省略,可以挑挑一部分来做。嗯。啊。那当然,时间就是这样的一个条件,那接下来我们可以根据权限来进行文件的搜索。权限呢?英文单词缩写permission,缩写成PM了。后面跟上权限,那他就可以对文件来进行搜索了,那比方说我们就以这里面的文件,我就想搜文件的权限是这个权限。600啊,我就想搜这样的一些文件,那看看能不能搜到呢,我们就可以用P600啊,当然我规定是在。
08:04
当然,我不写路径,不写路径,当前路径。对吧,找到你看这是不是刚刚我们改过的。精确的就是六零年啊,六零啊,当然你也可以写什么其他的指定的权限啊,数字法,相信大家还记得000就什么权限都没有啊,比方说我们来个0F7,那这个就是什么权限都没有。啊,那这是可以精确的写上选写。但是呢,还有一种比较有意思的权限叫什么呢?叫斜线和横线。那斜线表示的是什么意思?斜线早期的时候是用加号的。早期用加号,现在不用加号了,用斜线。这个加号从47开始就淘汰了,你在六上用没问题,七以上就不能用了。
09:02
换成斜线啊。对应的还有个减号,那这两个是啥关系呢?说的是这个意思,比方说如果我们写一个这样的权限。啊,写一个444,这个444。我们这么写就是精确的权限是64啊,就是44。但是如果你写个斜杠。那就不一样了。那这个斜杠表示是或的关系。啥货呢?这个444不就是三个四组起来的吗?那第一个四是给谁设的呀?所有者设第二个四是所属组设的,第三个设的other,大家想这是不是三个小条件呀?这不就三个小条件吗?那啥关系呀,货呀。
10:03
或呀,明白意思了吗?那啥意思?就是所有者有四,或者所属组有四,或者other有四,但是你仨人只要有一个人有四就行了。那单四是什么权限,读权限,那也就是说你这三个人只要有一个有读权限就可以了,是不是意思,那咱们来试试是不是找到了呢。大家看是不是都是符合要求,就连F三都符合要求。为什么F3符合要求啊,因为所有者有写学读权限就行啊,我没说都有啊,这三人只要有一个有行行吗?但是有一个不行,有一个没列出来谁呀七呀,那七他谁都没有啊,那总得有一个吧,啊当然那我加上不就行了吗?比方说O加五,哎,那这样的话是不是他也就符合条件了,因为我们三个人只要有一个人有选项,哎,这个权限就行,那你看我们再搜一遍。
11:14
你再来看,你看FT不就出来了。理解了吧,哎,这就是他的或者关系,那那我们现在表示的是或者,那么如果要表示并且咋办呢?那就是减号。减号,那说的就是所有者四,并且所有组四,并且other也得有四。也得有四,那那都有,那那这个就要求高了,那都有,那你看看列出的文件。哎呀,少了不少。那你看F3没了吧,F7没了吧,为什么F3没有啊?因为F3你只有你自己有啊,那是不是其他人没读不行啊,那F7也是啊,就你一个人有不行啊,我们都得有才行啊,缺一不可呀。
12:14
这就是减444的意思。明白吧,啊减40。当然这个地方我们再问一个问题,如果是减六呢?啊,如果是斜杠六呢,这是啥意思?600,那我写这这是啥意思,我精确的写666600这是啥?你看找到的就是权限是精确的六零,那你如果是斜杠六。你觉得他找出来的是什么文件?啥权限,你看看。
13:08
咋说的是啥权限?那现在我们把这个六的权限给他改一下啊,改成什么呢?改成这个四厘五。改成400。啊,然后F5呢,给它改成这个二零,那现在我再去搜F5和F6,刚才是能搜到的,那请问他现在符合要求吗。继续补课,明白了吗?啥意思,因为你这个六实际上是四加二加出来啥意思,我们是或者嘛,那或者那不就是。
14:03
只要你的所有者有毒或有血就可以。理解了吧,啊,当然,那现在请问大家减66600啥意思?这个减是不是并且的意思,那就是有四还得有二,所以这时候你看这个五六就不出来了。因为它是货的关系,它是只有一个不行啊,这这俩都得有,你不仅有有四还得有六,呃,有有四还得有二凑起来才行。理解了吧,这就是他背后的逻辑。当然这个东西不好记啊,初学者肯定记得,这啥时候用斜杠啊,啥时候横线啊,记住,哎,记住这个就行了,告诉你斜杠等于加号,因为早期就用加号嘛。
15:05
那加号是什么意思?加号就是多吗?那多那啥叫多呀?过就多吗?那减号减号不少吗?那啥叫少,并且就少啊。是不是就记住了?明白这个逻辑吧,哎,这不就记住了。啊,要不真不好记,你说这个斜杠,你要不这么想的话,真的不好记。啊,面试的时候人家出一道题,你说你先查笔记。好像也不合适吧,是吧,你这这有的时候就是着急啊。这万一手机不方便拿出来是吧,人家考官在那旁边看着你呢,你说你拿出手机来百度一下好像也不合适,所以这时候有的时候还得凭你自己记啊,这就为什么要求大家把那个葵花宝典背下来啊。面试前,我建议大家花上两周时间别着急投简历,花两周时间好好的把前面的重点宝典背一背。
16:07
重点复习复习,这样的话,你去面试的时候。会比较高的成功率。不能说100%,至少成功率要高一些,你别毫无准备的直接去面试,去一次失败一次,去一次失败一次,你去了两次三次,每次都失败,你下次就不敢去了,你这个自己也没信心了呀。人家一问你啥啥答不出来,你这不自己打击自己吗?啊,所以大家还是要踏踏实实的学技术的一方面,还有就跟考试的时候,咱们这个考前突击还是有必要的是不是。啊,该背背,该熟悉熟悉,建议你们互相,是不是咱们将来也会有一些组织面试的环节啊,就是让大家来模拟面试。哎,咱们老师会跟你面对面模拟一下这个人事啊,包括技术啊,怎么问你这个会面试,另外呢,你自己要花时间。
17:07
花间,比方说找个小屋是吧,面对着镜子,你自己想一个这个话题,比方说至少人家说一般来讲上来就请你自己介绍一下自己,那这个介绍环节你是不是自己得变一下啊。练上几回,你去的时候不就不至于临时组织词汇,说话说不清楚了?对第一印象很关键,如果在自我介绍这个阶段,你都说不清楚,人觉得你这个,哎呀,技术上也够呛,话都说不清楚,话跟你有啥沟通的。情沟通的这个欲望嘛,对不对,所以呢,大家将来不要打无准备的仗。啊,不仅要学技术啊,现在阶段咱们就花花时间好好的学每天的课程。在面试的时候一定要针对面试单独准备啊,不论你的言谈举止,服装是吧,道具都得准备好,哎,小镜子小梳子随时准备好,带身上去了以后梳梳头是不是洗洗脸,哎,别去了以后这个满头大汗是吧,你的你觉得很辛苦,那你问题是你印象不好,你先喘口气啊,稍微的整理整理,这样的话你说话。
18:26
哎,也中气十足啊,就像我一样是吧,这样的话人家会觉得你很自信,自信很重要啊,技术水平好坏不管,哎,这个自信一定要有。啊,从气势上压压倒对方啊,其他的其他东西也不是一天半天能改变的了,这些都是立竿见影的事啊,相信大家还是要适当的重视啊,啊好,那我们刚才三带角也是简单说了一说,因为我这个之前做公司的这个CTO。
19:04
啊,我去面试的时候对第一印象也是很看重的。啊,如果你第一印象就不好啊,行为举止言谈不是特别自信啊,这个服装身身上穿的衣服也懒懒散散的,甚至有些污渍。是吧,那我我关你的技术好坏,我已经第一印象就绝对不要你了啊,所以印象很关键啊,大家还是适当的做一些表面文章啊,不要仗着自己水平好,然后你就浪费自己的这个技术,真是挺可惜了,大家千万要还是要有些表面文章还是要做的啊,这个相信大家这个不用我解释是吧,你搞对象的时候是不是也是这样是吧?啊,这个第一印象你要一定要给人家好一点,不要懒懒散散邋拉遢的。
20:01
好,嗯。那正则表达式这一点呢,在范围中也是可以支持的。大家看这可以写正则表达式的类型,这个类型呢,可以添加我们比较常用的类型,一般来讲呢,这个正则表达式它实际上有多种写法。啊,不过呢,我们一般用的比较多的,你比方说的就是扩展的正则表达式,你可以加这个,然后后面呢,再加上这个正则表达式的模式,那你就可以来搜了,比方说这是一个比较简单的例子,就是我们写上正则表达式有哪种风格啊,你是用哪种正则表达式,然后再写正能表达式的。具体内容就行了啊,这样的话就可以实现正则表达式在F中来使用,所以F命令也支持正则表达式。
21:00
啊,刚才我们看到lo命令都支持这的表达式是吧?啊,这里面都可以支持它,不过它用的是基本正的表达式,而我们find命令可以用这个扩展的正则表达式,啊,这都可以啊,那当然泛的命令呢,搜索条件很丰富啊,我们只是介绍了一些相对比较常用的选项。大家下来如果想详细研究find命令的更丰富用法,那当然那那去一下,这里面有很多啊,下来你们可以自己看。好,那接下来呢,我们看看另外一个就是处理动作,刚才我们也提到了范围命令的基本格式,就是前面你要写条件,后面要可以跟处理的动作,那这个处理的动作呢,默认用的就是L。Print print print呢就是把这个文件的名称。打印出来,那我刚才实际上也说过了LS了,LS呢,它就等价于对文件列出它的详细属性,不过呢,这里面列了这个东西叫Dis Dis这个选项大家。
22:16
看看都什么意思呀,这个命令。啊,那你可以看一下LS的帮助是吧,那LS这些选项有的我们用过,有的可能用的不多啊,比方说L不用说了,Ii什么意思,节点编号对吧?还有SS说的啥呀,S说的是大小,不过呢,它指的是块。这每个文件在磁盘上的块有多大,它不是说文件的那个什么多少个字节,而不是说这个,还有一个是D是吧?D说的是啥呢?啊D看看D说的是文件夹对吧?啊D文件夹,所以它相当于执行了这样的一个组合命令啊把找到的文件呢,用这个来显示,那么找到以后,我们还有可以把文件的文件名找出来以后呢,我给它存到一个别的文件里去。
23:12
那就可以用FLS后面跟上一个文件。哎,那实际上就类似于这个。啊,类似于这个就是把它的信息重递向到文件里去了,FLS啊,比方说咱们就简单一点啊,就换一个吧,然后FLS,这就是相当于我们把所有当前目录下的文件,哎找到。先找出来,找出来以后呢,我们后面可以跟一个动作。这一个动作,那当然这个地方直接写文件前面,前面不写内容还不让你写,我们后面应该这一个文件加上一个文件,加上一个文件,比方说我们就放到root下,起一个什么呢?起一个find log吧,好大家看这个文件里面,它将来存的时候呢,存的是什么内容啊,看一看。
24:03
你看这是不是就是把S的命令找到的结果,从立项到这个文件去。所以你也可以换成重新向写法啊,这个文件不存在,它会给你生成。啊,Delete呢,不用说了,是不是找到以后就删,那大家想这个命令批量删文件啊,比方说我们把所有的test文件删了。所有的test文件删了,诶删了的话呢,我们可以杠delete。我们先看看这有三个文件,然后我们去杠delete删了,删了以后你再看找不着。这个命令是不是很危险,因为删的时候问都不问你,万一你删错了呢?对吧,所以就别用了啊,只要是工作中只要删,你尽可能别用用MV代替嘛,对不对啊。
25:11
嗯。好,那接下来还有一个叫OK的,OK这个这个东西是干嘛的,OK是配合lead命令的,后面可以加。命令,那比方说刚才提到的这个删不能删啊,太危险,那那那那我想把它移走怎么办呢?比方说我们现在想找F开头的文件。F开头文件这么多呢,我要想把它找到以后,不是说删了,是把它移走,那移走的话呢,我们都知道移动文件,那命令怎么写,是不是F后面跟一个文件移动到某个地方去,对不对,是不是这样的一个大概的格式哈,那问题是这个find命令它里面有没有MV呢?哎,你别说find命令里面没有MV。没有MV,那那我怎么把这个找到文件移走呢?那实际上咱们前面学过一个for循环,你可以怎么干呀。
26:09
For e是不是do MV Dollar I,你想移哪是不是由你说了算对吧?比方说我们移到哪去啊?啊,移到这个,随便找一个文件夹,这是不就移走了,看看移走没有啊看看OT。移过来了吗?移过来了吧,移过来了啊,当然我还再移回去芯儿啊,移到这里面去,移去了U取以后啊,我这本身就在这,那现在我刚才用的是for循环,这个要求太高了,那不是每个人都会写for循环,是不是哪像我们学的这么深入呢?
27:00
那不会写for循环find命令就搞不定吗?实际上能搞定怎么做呢?OK,后面跟文件跟命令,这个命令就是Linux命令,但是呢,Li命令,你事先的一般来讲MV是不是得写清楚那个文件。对吧,你移动F1你就写F1,移动F2就写F2问题,我也不知道这个找的文件叫啥呀,所以那怎么办呢?诶咱们这个find命令它有一个自己的配合Linux命令的一个写法,就是站位符用划括号。这个花括号表示的就是什么呢?表示的就是find命令找到的文件,听懂了吧?所以这个是咱们find配合咱们Linux命令的一个特殊写法,有个花括号啊,花括号找到代表的就是你前面命令匹配的文件。找到哪移到哪去啊,比如移到哪T一下。那么不过呢,这个地方略微有一些地方需要大家注意,就是一旦加上OK以后。
28:03
必须加这个命令。这个斜杠方号作为整个find命令的结束,这个是语法要求,至于为什么你不用说了,你就抄就行,这官方的要求。啊,就是这个约定俗成的要求啊,你就没什么理由了啊,记下来就行啊,那接下来咱们走看看。诶找到一个文件移不移呀,Y移,诶找到一个文件移不移呀,Y移,当然这个不想移,不想移你可以回车啊,你可以一路回车,这样的话,那我们看正常就移了两个文件,那看看是不是两个文件过去了啊。明白了吗?哎,这就是。OK,但这个OK呢,感觉也不太爽,那我要找到1万个文件,1000个文件,那我得回答多少次我呀,所以我们决定不用这个,我们可以不可以不问,非交互式方式呢,批量执行,也有叫ex ec,那也就意味着把这个地方变成点ec就可以了,那这时候它就批量给你移,也不会给你。
29:16
这个问你问题了都,诶好像成了,看看过了没。过来了吗?是不是很不错呀?面试常问题啊,这都是面试容易问到的问题啊,不过这个地方有一点小小的问题。你移动到了一个文件夹里面,大家想过一个问题没有,比方说我这有一个F11TEST,然后呢,我在第一里面。我把这个文件也叫F11TEST,大家想过没有?如果我直接这么去find一个,它找到的是两个F11。
30:10
而且大小文件。不一样,一个是709,一个是零的字节。结果被你。你进去了。而且移到一个文件夹里去了。会出现什么问题?覆盖,那到底留下的是谁呀谁呀?看到了吧。留下的是最后这个,前面这个怎么样了,被覆盖了啊,被干掉了啊,当然这个目录下你看。真的那个F11那个文件在不在看看真的没有。
31:00
所以不要同名了,你要同名后面那个东西你覆盖了。啊,当然。那这个文件。出现这种情况呢,需要大家注意啊,这么移动的话是很容易出问题的。所以大家小心这么用啊,小心这么用。好,那接下来咱们看看其他的一些用法啊。啊,比方说什么改权限之类的不用说了。啊,比方说删除之类的,删除的话用delete就可以删啊这个这个做法呢,稍微安全一点,因为这个做法相当于就是他删的时候问你删不删。是吧,我们刚才不是有个delete的动作吗?那个是直接删,问都不问你的啊,这个还安全一点,问你删不删啊。好了,那接下来呢,咱们介绍一个和范围命令经常组合使用的一个命令啊,可以说它俩是一个。天生的一对啊,你叫CP是吧?听说过CP吗,CP?
32:09
CP什么意思?Copy命令什么这个天生一对不知道吗?这缩写成CP吗?天生一对啊,咱们有代沟了吗?啊,都知道是吧?啊好,有就行了。好,那那这个xar GS呢,是经常配合find,当然它不不可就是说可以不和这个find命令在一块组啊,就是他俩配合的比较多一点,那么这个XA加S能干什么呢?这个命令的功能就是。来解决一些。命令不支持。标准输入的。比方说咱们好多命令支持标准输入。
33:03
啊,比方说有些命令,比方BC,这是标准输入,你是不是可以把需要处理的数据通过标准输入重定向给他传过去,比方说我们就简单的这么BC传,BC能接收标准输入重定向,所以你可以把数据啊传给BC来做运算。但是有些东西不是所有命令都支持标准输入,自然它也就谈不上标准输入。处境下。我们学过的命令中,大部分应该说都不支持标准输入法。是不是支持标准输入的命令比较少,那比方说大家比较最熟悉的LS天天敲的命令,这个命令它有标准输入吗?虽然它不支持标准输入,但是它支持什么参数啊?这是不是它可以支持加参数啊?但是这个参数。是人为写进去的,这个参数入能不能变成动态变化了呀,你想我们这个标准输入,标准输入传过来的东西,是不是可以根据我们的情况来变。
34:12
那这个参数如果我能希望能够传过来东西,由传过来东西来生成该多好啊,那比方说我们现在要处理一个文件,那这个处理文件呢,我们这写个文件名,这个文件名是手写出来的。但是我希望这个参数啊,能不能自动生成,不要我手写了,不要手写了,用程序生成生成的话,那是不是它就这个就相当批量执行。那你要手工写,比方说我要看100个文件,那是不是就得把100个文件都得写在这。那现在如果把这个文件名能自动的生成。通过程序生成的,程序生成的不快的很吗?那我们不就是省的手工写了,那问题是这个参数怎么让它生成并且传给LS嘞,那就是X减S。
35:07
Xar GS它的功能就是。把标准输入,哎,他也需要标准输入,它是标准输入。把标准输入的内容传给X as后面跟的这个命令,作为这个命令的参数。我说的话听懂了没有,嗯,什么意思呢?LS就是我们AGS1回车它就会读取键盘输入,读取键盘输入以后,它就会把键盘输入的内容就标准输入传给LS,作为它的参数给你补到后面去,那你看看我回车你看看效果就知道了。啊,那我们再看诶。出来了吗?当然我这输了好几个,因为他是批量,他一块已经读完了再处理,不是说读一个就出一个。
36:05
所以我这写了两个以后,我们了个CTRLDCTRLD就表示我结束这个输入了。然后他咔就给你列出来了,大家看是不是把我们标准数内容作为了LS-L的参数。诶,那这个XGS是不是就解实现了,对于那些不支持标准输入的命令,可以用它来生成标准,这个生成那些不支持标准输入命令的参数了。参数是自动生成的啊。是不是很不错呀。是吧,参数能自动生成,当然实际上你这个地方你要不写默认,你要不写它现在这个地方跟了,那就输出嘛,比方说abcb。CTRLD。输出。
37:00
但是他这个输出没有给你放啊,他给你打印了。那这就是XAGS的一个功能,那么X1S呢,它这你看这写十,它就把十个,如果你换行,它也给你换一行啊,你即使换行,它本身不是换行嘛,但是你用X12一传过来,它就给你在一行。啊,那要想把它一行一行一个那也行。那一个一个呢,我们怎么做呢?哎,我们可以加上一个。N1。那就一行一个。啊,注意这个地方实际上省了一个什么Apple。你知道吗?省略了一个一行一个就是你一行一个,那就是传过一个来,你传个一过来,那我就APPLE1,你传过来个二来我就挨二。一行一行打啊,就这意思啊,那现在大家看这个这个命令什么意。
38:06
这啥意思?LS执行结果是啥意思?是不是就是当前的文件列表啊,当然这里面有一些文件夹,那现在我们用这种方式XGSRM。啥意思,你是不是LS执行完了以后,不就生成这些东西吗?是不是全给它作为它的参数了,那是不是就变相的相当于把这一串在了后面,那啥意思,是不是就全删了,看看是不是这词。嗯。理解了吗?那你想用这个方法带来的好处是不是就是我们有些Linux命令不支持标准输入,但是参数可以动态生成了,你看了吗?参数可以动态生成。啊。哎,那参数动态生成了,那我们是不是就可以这么玩了。
39:03
上次我们讲过一个案例,要求大家编写一个循环脚本,创建十个账号,分别叫U1、U2、U3,咋找回来个嘞。上咋写的for IE,然后点点词do user and user Dollar a down是吧?哎,就我们简单一点,这是不是就把十个账号就串出来了啊。啊,创建完以后呢,我们瞅瞅。出来了吧。哎,那能创建,当然也能删,不过呢,删的话咱们不用这个了,不循环多难呀,不会,我只会用XGS。啊,那怎么做呢?那就是user。八括号一点点十,这是不是就把十个账号生成了,十个账号生成以后xgs user戴尔对吧,但是直接删行不行啊,因为你这样删的话,它实际上就是一下子删十个账号,这是不允许的,我们删账号只能一个一个删,听了吧,他这不能跟多个用户啊,哎,所以我们怎么办呢?刚才讲过了,有一个叫ne的,Ne是不是就是一个船一个船。
40:30
哦。你看看我们是不是就轻松的把这十个账号给他干掉?面试题,同学们,我们有新的结果了,也就是说我们刚才创建十个账号这道题我们可以换一个姿势来实现了,是不是把这个东西换成什么user and完了,同学们。还要什么循环呀,是不是如果再出这样的面试题,你就可以写两个答案给他了是吧?好循环你跟说你不是想让我写for循环,我写个好循环,但是我会告诉你,我还可以用XA加S来搞定。
41:14
是吧,一般面试出这种题,它一般都是考你循环的。没想到竟然你还有新的方法啊,这个面试官觉得,哟,哎呀,这个小伙子厉害,算了,不敢要你了,你来了以后,他这个你的风头抢过人的是吧?开玩笑啊啊,老板还是很喜欢你,这老板是喜欢什么样的人呢?老板喜欢你把多个答案告诉他,他来做选择,不是你告诉他一个唯一的答案。你想想是不是这个逻辑,将来老板问你一个问题,你就告诉他一种答案,老板没得选呀,是不是很不爽啊?
42:03
哎,你给他告诉他123有三种解决方案,分别告诉他各自的优缺点,然后老板那请你做决策,老板是不是心里头很开心呢?当然你也很开心,为什么你没有责任呢?最后你说了,你有三种男人是你选的呀,不是我选的呀,是不是啊,所以你们要了解啊,将来上了班以后,你应该去揣摩。这个你身边同事啊,你的上级领导的心思,你明明白了之后啊,你将来工资才能涨得高嘛,涨得快嘛,对不对,老是蒙在自己的世界里是吧,这个不好啊,学技术只是一方面,还要适当的去了解一些方法。实际上这个东西涨工资啊。这个是必须的,他你你想他要是真的看中你的话,给你加点钱算啥呀,对吧,实际上老板最不喜欢的就是水平又低吧,还有这个要求涨工资的人。
43:16
而且还不听话,老站着布置任务老完成不了,是吧?这就不行啊。哎,大家学习的时候,一方面把技术这一块学好啊,另一方面呢,也适当的去调整一下自己将来上班的这样的一个这个方式啊。学习工作的方式。这个不仅可以分成一行一个也可以,两行一个也都可以,那这不就两行一个吗,两行一个。是吧,这都可以做,哎,我看我这个延迟大不大。感觉有一秒的延迟,我突然发现,因为我这演示是不是有可能会你们看不到,有没有这个时候你们看的是VC还是看的是腾讯课堂,那腾讯课堂延迟小还是VC延迟小,咱们原来不是上过那个网络直播那个形式,那个好像腾讯课堂感觉也可以。
44:25
理论上肯定是腾讯课堂要远远一些,慢一点,但是VC是个开源的东西,商业软件肯定做了更好的优化呀。啊,这就是刚才给大家讲的啊,批量创建账号,那这个命令我这写了一个这样的命令,这个命令大家看有没有问题啊。这个命令想实现什么功能?能不能做到?
45:12
700什么意思?所有者所属组other,当然这个七呢,后面是000,表示的是不关心,也就是说所属组我不关心所有,呃,Other我不关心,我只关心所有者,但是所有者呢,这个七呢是表示读写之行都有,而且是斜杠,斜杠是表示多的意思,就是加号的意思。多,那多的话是或的关系,所以表示的是所有者,又有读写执行是或的关系。
46:04
是吧,就是说三个权限只要有一个就行,对吧,但是我后面加了一个竖线LS-L,这对吗?哎,我们都知道管道符前面的命令和管道符后的命令,不是说随便拿命令往后去写,有要求啊,啥要求啊,管道符左侧的命令应该有标准输出,而管道符右侧的命令应该支持标准输入。对不对,LS支持标准输入吗?不支持,所以这个命令写的跟改写一样啊,所以那但是我们就想把这些符合这些条件的文件列出来,LS我们刚才说过了,叫什么xar GS,用xar GS来接收前面的标准输入,把它传到下一个问件作为它的参数,对不对,不就行了吗?
47:07
理解了吧啊,所以这个就是F1加,相信大家应该理解FGS了啊FG啊,这个命令啊,是配合CP啊,啊这个配合five命令用的非常多的啊,另外这边有一个叫PRINT0的用法,这个PRINT0是什么意思呢?是这样的啊,就是我们有的时候创立的文件比较特殊。比方说我们叫AB,这好说,问题是它有一个文件叫C,空格D。大家看我在三四的八上面,你能看到abcd,这是不一样的,但是如果你在七上,在六上你去执行,你会发现它有一个这样的显示。看出来了吗?你就根本看不出来到底它是一个是俩。
48:04
是不是根本看不出来?啊,大家仔细观察,稍微能看出一点点来,它两边的稍微近点啊,但是这个东西的眼神好是吧?啊,所以这样的话呢,我们犯人的命令去搜索的时候啊,就有问题了。Find的搜索,如果我们直接去XGSLS,大家发现问题了吗?看看报了个啥提示。他是不是认为C是一个文件,D是一个文件,因为明明我C和D实际上是一个文件,中间带空格而已嘛,对吧,为什么出现这种情况呢?因为就是XGS自动的把空格隔开的。
49:04
认为是一个文件,这是一个,这是一个,这是一个,所以他把C和D给拆开了,这就错了。因为我们不存在C和D,是C和D是一个文件。所以那也就是说它默认的分隔符有问题,那怎么办呢?那我们就给他规定不要用。我们给他规定用空作为文件名称的分钩。这个PRINT00说的谁呢?就是我们阿斯克玛中的那个,排在第一个的这个。字符排在第一个的不就是闹吗?零啊,就是我用真正的零作为文件名直接的分隔符。听了吧,然后当然在这我们还得再去配合一个杠,零两个配合起来,告诉他用零作为分格符,这样才能成功。
50:08
看到吗?这样才能成立。那我们用这种方式就实现了文件当然我们不仅可以看啊,那实际上我们也可以删啊,比方说我们把它删掉啊,删的话呢,我们讲过这种方法。对吧,哎,我们可以把这些文件删掉,当然我这给他明确规定一下,只找补充文件,呃,Type是F啊,Tap是F,那因为你这个地方你。你不加这个T和F啊,你看它这个前面这个点点啊,什么这些东西都给你列出来了啊,所以我们现在呢,给它加上一个F规定好,哎规定好,规定好以后呢,我们去把它删了,叫XGSRM8括号斜杠分号算一下啊,这个忘了加那个什么了,你看忘了加零了。
51:08
杠零。杠零。啊没了吧,应该是没了啊没了,那这样的话,你看那个C和D是不是就被处理掉了啊,当然它这个地方它有一个什么,呃,他说找不着文件了,应该是现在已经没有这个文件了,现在这个没有这个符合条件的文件一个都没了,那就找不着了,没有了就空了,好这就是你看咱们需要注意的地方啊,大家可能经常有时候去什么哔哩哔哩网站是吧?哔哩哔哩网站大家下过视频吗?下载过没有,你们都在线看是吧,在线看有时候需要下下的话,告诉大家有一个很简单的下载方式,就这个。我们可以组用一个叫you get的这个这个小工具啊,这个you get是一个Python程序,你需要装一下,然后你跑这个命令,这个实际上就是一个哔哩哔哩的一个视频网站的路径,那我们来看一下啊,这个这个视频网站。
52:10
可以看一下这个数字实际上就是个数字,这个一就代表第一集,二代表第二集啊看看呀,这视频没了没了,那好吧,看看哪个视频。哪个教育?哎,有没有王老师的视频,马马哥高新实战。是吧,哎,这这不就有吗?是吧,这是讲二保的。哎哟,这个时间长啊。得600多分钟是吧。哎,这有3000多分钟的,700多分钟的这个这个这个可以学一学啊,啊你看这个是这个是第几集,你看它这不有个数字嘛,你注意到没,这个数字第一这是第一集嘛,一点第四个这是不是就变成四了,所以实际上大家下视频,实际上前面不用动,就这个东西变就行了。
53:11
就是1234,你方说最后一集第十集,你看这不就十吗,发现了吗?哎,所以实际上呢,就是利用这种方式来实现,那我正好把我的文档更新一下吧。这个链接已经不在了,那就把它换成,诶这就够了,这就可以了,然后用这个命令就可以批量的这写多少集,比方说总共199集,那总共我这个是十级,那就写十就好了。这时候用这种方式就可以把十个集文件下载,而且下的时候呢,是开了三个三个并行下载线程。就可以起到并行下,过一会儿就下完了。哎,这样的话呢,你这个视频轻松的这个,而且这个好像是不仅在哔哩哔哩,在别的网站上也可以支持啊。
54:01
可以下视频知道吧,啊,只要他的这个路径是符合要求的就行了,只要你看它这个括号就是这个地方是1234变这种类似的有规律的你都可以变明白吗?用这种方式就可以实现。不过呢,千万不要把这个数字调的太大啊,比方说哎,来个100,马上哔哩哔哩给你封了,因为他觉得你在恶意下载,知道吧,你发起连接后太多,人家会觉得你攻击人家啊,你别太多了,你太过分了,将来人家会疯掉,你不让你下,你写少一点,比方三个呀,慢慢下嘛,对吧,否则他会认为你是爬虫啊,这是咱们刚才给大家讲的find命令啊,Find命令这些用法,希望大家下来都试试面试。重点啊,面试重点好了,那接下来另外一个话题呢,就是关于压缩。
55:10
解压缩打包啊,那在工作中啊,我们看到的很多文件呢,都是打包的,尤其我们前面在互联网上很多资源全都是基于打包形式的。在互联网上,我们将来会学习很多软件,这些软件呢,很多都是开源软件,你需要自己去下载。那么在下载的时候呢,它就会以打包的形式来给你把那么多的文件放在一个文件里。都是,同时一般来讲为了加快你的访问,都会压缩一下。大家看一下,我的鼠标放在这以后,在屏幕的最左左下角是不是已经显示出下载链接的文件名了,它的后缀是t.GZ看了吧,t.GZ。
56:05
还有一些著名的软件,这个软件我们会学,比方说大家都知道的科no内核,内核的官网是这个网站,就是我们天天用的内斯内核,你看它的这个包,它的格式什么后缀,大家能看清吗?啊,你看。啊,这个地方大家看是XZ看了吧,是XZ,所以这个我们发现在互联网上有好多不同文件后缀,如果这些文件后缀你不会去去处理的话,那将来你下来你没法用了。知道吧,所以我们需要知道这些工具的使用啊,那接下来我们比方说我们还要搭博客press press机CN。
57:11
这是应该是这个网站,你看这个博客站点,它的下载呢是什么。大家看我鼠标放在这,什么后缀呀,VIP后缀,同时这也有差点GZ后缀,看到没有,所以这些后缀呢,这些都是压缩打包文件。你不会的话不行啊,那接下来咱们就来研究一下打包压缩这些工具的使用,那第一个我们来介绍一下,先说说压缩的问题。压缩注意这里面我们目前谈到的这些压缩主要针对的是文件压缩。主要的是针对。单个文件来压缩。
58:08
而非文件夹。啊,目录。二黑目录。那也就是说我们压的是压一个文件。那事实上我们工作中更多的是不是喜欢把一个文件夹里面的所有文件都给压了啊,所以这个东西我们压缩呢,目前只解决了单个文件的压缩。当然有个例啊。那么另外一点呢,就是压缩的背后逻辑大家得搞清楚。他为什么能把一个大文件压成小文件?平时工作中,生活中,我们有时候也会压缩,那比方说在微软的Windows里面,它就有一个压缩技能。
59:00
啊,什么呢,就是我们可以把整个文件夹压一些,大家看我这个数据。89.9兆在Windows里有一个压缩方法,就是发送到。ZP,看到没有,这个就是直接的压缩。这个压缩它会生成一个VIP文件。啊,那这时候呢,这压完了以后,它是把整个文件夹都压完了,你看这个压完了有多大看看。83.5效果不是特明显是吧,不过呢,确实也节约了一点空间,那么在Windows里还有一个压缩方法,大家我觉得你可以考虑用用,就是针对整个硬盘分区来进行压缩,大家看这个对勾。看到没?这个对勾的作用就是你只要选中这个对勾,就意味着它会把这个目录这个分区里的所有文件进行压缩。
60:04
而且这个压缩过程是透明的,你是感觉不到的啊,你选上这个对勾以后,现在这个E盘它的数据将压缩啊,比方说我们现在创建一个稍微大一点的文件啊,我生成一个比方说这个linux.mg文件啊,一兆啊来个100兆。好,那这时候呢,这个文件就有了,然后我传到咱们的Windows里。我传到刚才提到的这个E盘上。哎,传过去,那这时候这个E盘上的文件,那我们看一下它总共才多大点啊E盘,因为我这个是纯粹做实验的。大家看到这个E盘总共才,呃,总共才一个G是吧,总共才997嘛。
61:05
是吧,就是七。啊,现在正传进去了。传完了没有啊,调完了,调完以后你看这时候这个文件呢,应该就自动压缩了,大家看它显示是100兆,哎,但是我们看一下这个空间。他占了多少可用空间是873,好像也是100兆是吧。呃,占了123,占了123,好像感觉不是特别明显,但实际上它确实压缩了这个压缩以后呢,这个文件会显示出一些颜色啊,这个东西需要你去把这个颜色打开。然后这边呢,有一些选项,比方说我们可以在查看这个地方,可以把一些压缩格式的文件进行彩色显示,看到没。彩色显示以后你看。
62:00
蓝的表示这个文件就被压了。啊,被压缩了啊,当然这个压缩这个文件好像不是特别明显啊。啊,来个200兆。啊,然后200兆的文件直接放在E盘。有没有压缩的感觉?那这个压缩完了以后呢,在用的时候你感觉不到,就是你用的时候你该看还是这样的正常文件,它不像一般的压缩文件,明显就是一个不一样的文件后缀都不一样,这个呢,在Windows里面,它用完压完了,它是不会影响你的,你该用用啊,但是我发现这个好像不起作用,对于这种文件后缀呢,它的这个压缩不起作用,发现。好像你看300兆,不过稍微有一点点作用吧。已用的是352兆,好像不起什么实际作用,那就是说我们压缩的话是看文件类型的,不同的文件类型压缩比。
63:07
而且压缩算法不同,压缩的效果不同,那下面咱们就来压一下,我们用Linux的压缩工具来压一下,当然在刚才这个地方,实际上也可以用Windows压缩工具压一下啊,Windows刚才我们也看到了,它不是有一个那个VIP的压缩方式吗?在这你可以压一下,看看它压完了以后多大啊,走一下,呃,现在是200兆,看看压完了多大,发现没效果就这么明显,变成200K。这个压缩笔。有点超乎意料吧,多少倍啊,这是少了,少了好几个零呢,这个少了三倍吧,三倍,三倍,那是不是就是1000倍啊,所以这个压缩比还是效果非常明显,那压缩比为什么这么明显,那就是因为这个文件类型不同,它的压缩效果是确实不一样的,和文件有关系啊,那大体上来讲呢,就是最简单的压缩思想,就是把。
64:14
相同的文件内容,给它压成一个字符,比方说最简单的咱们这个一,一个文件里面假设出现了马哥edu,出现了1万次,那这时候压缩算法大体上的思想就是把它替换成M。只要看到马克一丢,我就替换成M。大家想想,那这时候是不是就相当于把这马堆一丢,这这么长的字符串变成了一个M,是不是就相当于它的几分之一啊,1/6了吧,是不是1/6?那你出现1万次,那我就把它压成一个M,那这么多字符就用一个M代替了啊,甚至我还可以这么写,就马克一丢不是一万四吗?那我们可以写个1万。
65:04
那这个最简单了,那就是1万个M 1万个M代表着1万个M马一流,这样的话呢,显而易见就进一步的又节约空间了,当然还原的话呢,再根据替换回去就行了,大体上的思想啊,当然这个加速状态这块是很复杂的。那现在目前来讲有很多压缩格式在Linux里面,老牌的压缩命令呢,叫compress。Comppress这个工具需要安装这个包才行,叫n comppress,不过这个包默认可能没有装啊,那我们来看一看,嗯,那我把刚才的文件清理一下吧,那我们找一个稍微大一点的文件。那这个文件是个普通文本,所以压缩呢,一定是要看文件类型的。
66:01
啊,不是所有文件都适合压缩。呃,比方说咱们生活中经常看到一些视频。你说这个东西压缩有效果吗?MP4是不是本身就是压缩格式,MP3是不是也是压缩格式,所以像这种压缩呢,没什么效果,什么适合压缩呢?比方说一些文文本文件压缩比较高,文本文件压缩比较高,我们现在刚才这个文件就是文本文件。所以它压缩还是比较不错的,那compress这个命令我们看一下装没装没装没装的话呢,我们去把这个工具包装一下,叫什么呢?Nc com。装一下。你们是最小安装了吧,都啊,所以这个软件默认都没装啊。
67:00
好,装上以后呢,我们可以用。com这个命令来进行压缩,压缩的话呢,我们去把这个文件拷贝一份吧,拷贝一份变成M,这样的话,这个文件名比较短,然后compress,我们去后面跟上文件,这时候它就会自动的把这个文件进行压缩,同时会把原文件删掉,大家看这压完了。变成了一个叫什么呢,叫大V的这样的一个。后缀的文件大家看压缩比怎么样啊,和原始文件比的话大概是。不到五吧,5:1的效果是吧,不到5:1的效果。啊,那接下来那会加压缩,你也得会解压缩呀,而且大家注意到没有,它压完了以后,原来文件就没了,你看了吗。是不是,哎,那么解压缩呢,就是oncompress m点大Z,大家看是不是就恢复回去了。
68:08
嗯。当然那我们这个习惯不太好啊,你这个加完了以后,原文件都没了。我们还希望保留啊,那这个怎么办呢?那我们可以可以通过这个选项叫什么呢?叫CC是把压缩过程中的信息输出出来。数据出来,那么屏幕上打印,但是屏幕打印不是我们的目标。那什么意思呢?是这样的compr,那默认它会把这个文件给删了嘛,那我们就就给它输出出来,这个C呢,就是把它压缩的结果在屏幕上打印,当然我们都知道,一旦把压缩完了的结果在幕打印,那是不是就乱码了?是吧,乱码了,乱码的话呢,这个就肯定不好啊,因此我们怎么样呢?哎,那我们把它扔到文件里,大家看,这时候再来看,你看这个文件是不是再次压缩了,而且和原来的压缩文件你看到没有一样吧,这回旧的文件还删了吗?不删,因为你是用重新项吗理解了吧,所以这样的话我们就可以保留原始文件啊,那这就是compress。
69:30
不过compress呢,目前这个压缩算法已经老掉牙了,这个命令现在很少用了,它用的压缩算法大家可以看到这里面它用的是这种压缩算法啊,那这种压缩算法的压缩效果不是特别明显,然后呢,我们刚才解压缩用这个,实际上你解压缩也可以用另外一个命令,就是compress-D,杠D呢它就可以直接解压缩,这个命令呢,就类似于compress uncompress,知道吧。
70:03
啊,另外呢,我们还可以去把压缩完的文件来进行查看里面的内容,我们没压缩这个文件,就是个文本文件,压完了以后呢,这个文件就不能这么看了啊,你直接看的话就乱码了,看了吗?哎,所以我不要去这么看啊,不要就这么看,那要想看怎么看呢?理论上要想看哪些假说。解压缩再看,但是呢,这个太麻烦,我们可以用z cat直接把一个压缩文件,它自动解开并且展示出来z cat,那大家想z cat they cat,那是不是就是专门看压缩文件的,大家看是不是看见了。啊,这就是z cat,好,这是我们刚才给大家说的压缩文件,用这个用这种方式实际上也可以把它进行还原,你也可以把压缩的文件在重定向对吧,重定向生成一个新文件,那这不就是相当于解压缩了吗?
71:02
对不对啊,一样的啊,你看看这里面是不是就生成了一个M2,和原来文件一样啊。好了,这就是压缩啊,压缩。但是这种格式刚才说了压缩比不高,这种工具呢,用的少了此工具啊目前。已经很少使用了,因为它的压缩比不高,那么用的多的是谁呢?GZ后缀,它对应的这个文件是GZ后缀。而刚才这个是对应的是。大V后缀。
72:07
这个是GZ后续。激励后缀,刚才我们打开网站的时候,大家注意到是不是好多网站都是激励后缀的。所以这个目前还是比较主流,那么现在我们要想生成一个GZ的打包压缩文件,那么就用GZ。M这就可以了,它就会自动的把M文件打包成压缩成m.GZ同时删除原来的M,大家看,原来M也没了。大家是不是发现GC的压缩比比Z是不是高了不少啊,是不是基本上差不多快小一半了是吧?压缩比还是很明显。同样的道理,那么要解压缩,怎么解呢?GZ m.GZ。
73:04
当然你也可以换成什么VIP-BM。第也可以。解开了,解开以后你看回来了。是吧?啊,当然我们发现它好像也是一个特点,就是解完了以后也好,压完了也好,原文件就没了。所以我不想丢失原文件,诶,那么这个GC命令呢,它现在。有一个P选项。不过这个P选项需要注意是是不是八的特性哦,六上七上还真没有,这个P选项是八上的新特性,大家看这个地方有一个啊杠K保留原文件。啊,同样的你在七上执行,你看有没有批呀,有吗?没有。
74:01
所以这个命令呢,应该说升级了版本升级了啊八上面多了一个功能。啊,所以我们现在就有这个东西就省事了,杠K就好了。那这时候你压,诶,大家看原文件是不是不丢了保留了吧,啊而且呢,它还支持压缩比,这个压缩比呢,它可以人为指定,到底采用多少压缩,大家看,实际上它有一个最快压缩和最好压缩。最快压缩,它的压缩比最差。最好压缩,压缩比最好,但是压缩比越高越慢。听了吧,所以一个叫最好,一个是最快。当然大家看到了一到九,那你是不是聪明的方现,那是不是应该是可以用2345678是不是是可以的。啊,我们所以可以指定压缩的这样的一个压缩比啊,你用哪个级别的压缩压缩比一压缩比效果最差,但是速度最快。
75:11
压缩比九压缩比最好,但是压缩比较慢对吧,所以它也可以指定,那这个地方我们可以看,这可以指定一个数字,直接指定压缩比啊,你直接加数字就好了。直接加个数字就可以。啊,比方说我们现在现在用的是哪个压缩比不知道,那我们就来一个什么呢?来一个杠九,杠九是不是压缩比最高。对吧,当然我们原来就有一个那个M点。GZ了,那这样吧,我们考一下得了,呃,考一个叫MM。然后GZP,杠T,然后杠九啊杠九实际上就是最好的压缩比。
76:02
MM好,大家对比一下。怎么样?又好了一点点吗?是不比原来又好了一点点?对吧,啊,当然,那我们再来一个MM3个M,那这回用个一一的话,是不是压缩速度最快,但是压缩的比比较差。啊,看看这个三个M的咋样。怎么样,是不是真的有点差点意思呀?但它速度最快。所以它的压缩比是一到九的啊,另外机这块有一个非常强大的地方就是。它压缩的时候,你看这儿如果没有指定文件。或者当文件是横线啥意思?它是对标准输入进行压缩的。换句话说,我不仅可以压文件。你还可以把一些。
77:00
输出内容传给他来压啊,比方说我们可以这么来玩M。直接激来压缩。对吧,那压完了它生成的文件叫啥呀。你直接这么写,他就会报错,他说你压完了,你把这个信息传给我了,我压呀压完了,压完了我怎么怎么放哪啊,他说。不写到终端里面,也就是说他想把它信息压,把它写到终端里面,但是你没有加选项,所以你加那个F可以输出到当前的终端里面,但是我不想放在终端里面,我就写到文件里就行了。所以我们就可以这么写了,叫M。MM4第2G Z,大家看这时候是不是再次做了压缩。大家看我现在用的这个。
78:02
83172和这个是不是很贴近呀。是吧,诶那就是压缩。那我们用这种方式可以起到压缩标准输入的内容,生成压缩文件有啥用啊,用处大了,这个将来我们未来学习这个非常重要的技术,MYSQMYSQL中我们要备份数据库。把备份下来的数据库压缩,就用的是这种思想啊,所以今天学的这个命令看起来很简单,以后会用的啊,啊有啊,他可以把一个命令的输出结果,把利用管道符把前面命令的标志输出,用机对合去压缩生成性文件,那未来我们将来数据库的备份呢,实际上就是这样的,前面呢,有一个数据库的这样的一个备份命令啊,比方说MySQL dump就是我们未来学的啊,然后呢,后面我们用GZ给它生成一个MYQ的备份数据。
79:21
对,将来就压完了啊,这个是我们将来要用的啊,就大体的格式就类似的。啊,希望大家有印象啊,这就是GZGZ啊,那GZ,那我们看到了它这个选项,这些现在大家看懂了啊。这就刚才说到的定义用法。假说你也可以去用g on z或者是什么B也可以啊,也可以。
80:01
好,那接下来看下面一个,下面一个呢叫BZ2 BZ2它的后缀呢,是BZ2后缀啊。BZ2后缀工具叫BZ。那在互联网上我们会看到有些文件就是用BVR来进行压缩的,比方说我们去看一下这个网站。287AD这网站还有问题啊。啊,就直接就阿尔法奇啊,写错了直接是阿尔法奇啊,这里面呢,就有一个HTDP好在这。
81:20
哎,这怎么自动补了一个3W。好心干坏事,好大家看这地方有一个download的下载,你看这不就有BC的吗?是不是有GC的,有BC的,那BC2,那这个BC2的对应的命令就是BC派,就这个命令,那同样的我们也再可以压一下,然后说把M压一下,那压完了的话呢,它默认也会把原来的文件给你干掉,所以我们加个K保留属性。它这个也支持K保留属性啊,保留属性那我们来压一下看看效果,压完了以后呢,我们看这边多了一个BZ2的后缀的文件,诶压缩比咋样啊。
82:10
比原来的GZ好的好不好啊,又好了一大截啊,你看了没?所以呢,大家以后啊,我告诉大家谁的压缩比高,那你现在是不是聪明的就可以选了。你说这俩文件刚才放的内容是一样的,你选哪个压吧啊,你选哪个下载吧,你想快点下是不是就是BZR的,一看后缀你就能判断出来,那压缩比一般的比G的要好啊,所以这个为什么要G这些东西它是有原因的啊,当然了,你家里带宽是吧,一个G的,那我就不讨论了。不差钱是吧,不差钱。啊,那其他的用法都是一样的啊,比方说这些它也支持压缩比最高是九,这也都支持啊,它实际上也支持解压缩,Be on it bz cat可以来直接查看这个z cat只能看DZ的,要想看BZ2的,就必须要用b z cat来看啊,就是b z cat b z cat,哎,这个还没装吗?这个。
83:30
啊装了,然后然后m.BZ2你看。能看那就是相当于预览里面的内容啊,预览里面的内容啊,这是刚才提到的BC2啊,那解的话呢,刚才说了,你可以直接将上D也行啊,或者是B这块啊,这都可以给解开。它也支持标准输入的铜镜下进行。
84:05
压缩啊,比方说我们也可以用这种方法传给BZ2,然后压缩成mm.BZ2,当然我们这儿可以规定一个杠九压缩比最高那个,那看看它的压缩比怎么样,mm.BZ2。好像默认就是最高的是吧,默认它就是最高的啊,默认就是最高压缩比啊,最高压缩比,但是你可以压缩比最差的这个E要把这个覆盖了,你看看他这个压缩比咋样。就差点意思了吧,你看他要压缩比负一的话,就是一的话,它的压缩比是不是差的很多还是差的很多啊,所以从网上呢,下文件的话呢,大家不要随便去从来不明的地方下载文件啊啊,说实在的,一个大文件你表面上看很小,但是一旦压完了以后,那说不定很小很小,所以呢,换句话说,很有可能你从网上下一个小文件来,只有一兆的文件。
85:14
但是你解开了不得。不把你硬盘充满。是吧,成渣了啊。那这个服务器如果硬盘满了就崩了啊,啊,比方说我们构建一个这样的文件,哎,来个咱别太大了,来个一个G的。一个G的。嗯。啊,这个文件不大不小,正好一个级。嗯。然后接着我们去用这个命令来把它压一下,B这块按照最高压缩比,当然默认好像就是最高压缩比,然后F1MG啊,你看它压缩完了以后多大。
86:15
好压完了,压完以后。看到没,差了多少倍啊?12345,你说吧,是不是真的压缩比很高,因为里面全是零嘛,当然好压了全是零。才785个字节,一从网上下了一个七百一兆的文件,一拆开得好几个T硬盘给你撑满了,知道吧。啊,所以啊,不要贸然下载那些什么莫名其妙的来路不明的文件啊。
87:00
啊,那除此之外,那接着我们这儿还有一些其他的压缩比更高的,没有更没有最高只有更高的,那我们推出FZFZ呢,是目前比较相对新的一个压缩工具,不过呢,这个需要你安装XZ这个包啊,我这应该装过这个X包了,所以呢,我们这就不用装了。你看我这装过了啊,那默认不一定你们那有,你需要自己装单装,那么FZ这个压缩比高不高,那我们就来比一比不就知道了,XZM压完了以后,它是XZ后缀的,看m.XZ看见没,跟我们刚才的这个BC2比比怎么样啊?是不是又小了一截?所以这就是为什么我们大名鼎鼎的雷纳斯内核都采用的是X1,你看这个官方的内核网站是不是就是SV后缀是不是?
88:13
压缩比真的很不错,不过呢,不要盲目的迷信压缩比,压缩比越高,往往带来的问题就是效率会比较差。所以如果你要我这个文件比较小啊,所以你们没什么感觉,如果你真的去压一些比较大的文件。很可能这一个文件压缩解压缩会花比较久的时间。啊,人家可能是十秒钟解压缩压完了。你这花了两分钟甚至五分钟。你这是不是时间差别太大,你受不了了?那我宁愿,宁愿快点,我压缩比牺牲一点,我也不愿意那么慢呀。
89:00
所以这个东西就看你的平衡了是吧,不能盲目追求压缩比,还要看看效率问题,为什么效率问题?好,这是刚才我们提到的,这里面呢,需要大家注意的就是我们目前学到的压缩这些选项都一样啊,在这我就不说了啊,这个解压缩什么,还有什么GZ啊,On z xz就是解压缩,这都是一样的选项,你看没有,大家注意到没有,跟选项一模一样的,没什么区别。啊,所以我就不演示了啊,大家知道就行,它这个看的话,你得用XZ看啊,X z cat,这还不是用那个别的命令XZ来看啊,所以它这个命令都不一样。嗯。所以这个就告诉大家了,上次我们不是写了一个脚本,我不知道你们有印象吗?那个脚本是不是根据不同的文件后缀来决定用什么样的压缩工具,现在你知道我当时是什么意思了吗?
90:00
上次不是讲脚本来着吗?是不是讲那个case,判断不同的文件后缀我们应该用什么,现在你就可以把那个命令补上了,哎把那个,因为我们当时没有写那个具体做什么操作,我们只是判断了文件后缀了,现在是不是把命令给补上了,Xa后缀的就XZ是吧,BZ2后缀的就是BZBC派啊大C大Z后缀的那compare,那就对B就上去了。哎,就可以了,你就可以编写一个万能解压缩工具,自己脚本是不是自己编的,它自动判断什么后缀,自动对应的用什么命令来解压缩。啊,这个事儿你们自己完成啊,我已经写了一个,写了一个大概的框架啊,就缺内容了,今天我们就把内容补上啊。啊,但是我们目前学到的这些内容稍微有一点点缺憾,缺憾就是只能针对文件,不支持文件夹,所以那这个意义不大呀,我们在生产中难不成一个文件一个文件去打包压缩。
91:13
是不是上不现实啊,我们更多的是不是希望对一个文件夹整个打个包压缩一下。这还有意义,所以目前来讲,XZ这些压缩,单个压缩没意义啊,没意义啊,比方说我们现在建一个拷一个文件夹过来。EDC我就考到这个目录下,那这个ETC这个目录呢,我们已经考到这了。那现在我们用FC,你去压ETC,什么这个FC啊,ETC你看它支持不支持,不支持啊,它只能支持文件的压缩。不支持。
92:02
你直接写这个文件。不支持啊,直接跳过。啊,忽略。所以我们那怎么支持文件夹压缩呢?诶有一个和Windows一模一样压缩算法的,我们刚才好像在前面演示过一个什么发送到是吧,是不是发送到什么,什么文件夹是这个发送到是不是这个,这个实际上就是VIP后缀的。它实际上是用的是ZP,那么在Linux里也提供了一模一样的压缩算法的工具,就叫VIP。这个VIP。它可以实现文件夹的压缩,哎,这个可以。当然它支持的文件后缀呢,当然就是VIP后缀了。当然你需要安装这两个包啊,一个是压缩包,一个是解压缩包,还得分别装啊,当然我这个机器上应该装过,你们那最小安装不一定装过,你看我这有,你们那没有需要单装啊啊装的话呢,不用说了吧,这个就亚子或者是BF装就行了啊VIP啊vipn VIP的两个都装一下。
93:17
啊,那么这个工具呢,它可以进行文件夹的打包压缩,那怎么压呢?注意默认情况下它也只压缩文件啊,比方说我们用它来压一下M压完了,哎,压的时候呢,它这个地方格式是这样的啊,我们还不能这么直接这么写,压的时候呢,它是VIP,先加上你要生成的文件是什么文件,再指定对什么样的文件来进行压缩。啊,所以我们这个地方需要指定VIP压缩的文件后缀啊,叫VIP,并且指定谁对谁压缩。
94:02
好,大家看哟,我这是不是压完了,刚才里。要把这个M给破坏了,没了。啊,那我这生成了一个,呃,有没有VIP的,没没这个VIP,没有这个这个M文件,那我拷一份吧,拷一个M文件拷过来,然后再压一下,大家看压完了,压完以后呢,这时候我们就生成了一个m.VIP的文件。啊,大家注意到这个M点。VIP文件和别的文件相比较来讲,它的压缩比怎么样啊?它比不上XZ对吧,呃,跟GZ差不多吧,是吧,跟GZ差不多啊,比不上BZ2,所以这个压缩比还凑合啊,凑合,但是你直接这么压文件夹是不可以的,比方说我们直接压这个文件夹,你直接压,刚才说了他不让你这么压。
95:07
那压完了是五百一百五十八个字节,这个肯定是不是这样的啊,这个压不了,那所以我们要想真正的压缩,需要用这R加上R选项才能对文件夹压缩。哎,你看这明显是不是有压缩过程,那压完了以后呢,etc.VIP你看这个文件是不是就真的压缩了,大小能看到六张,当然原来多大呀。原来22的,所以还是有效果的吧,哎,所以这就是VIP啊VIP所以VIP压文件夹这个很方便呀。你像原来那个一个一个文件夹,那怎么可能呢,对不对,所以我们用这种方式可以压文件夹,而且呢,这个压文件夹它还有一些重要的好处,比方说它还可以支持加密。
96:07
这个ZP它就是查帮助的时候,默认显示的帮助并不是全的,所以我们在这个地方,你看你直接敲help敲ZP,你他列出的帮助就这么多,不过呢,大家注意到这有个提示了吗?是不是有一个叫H2的,这个比较好好玩啊啊,还能列出更多的帮助,那就是更详细的帮助呗,看AG多了一大堆出来了。那么我们想加密,那加密的话呢,这个地方是不是和密码有关系是吧?啊,那你看这里面有没有和加密相关的信息呢。这有一个杠E是吧,这个杠E。啊。
97:06
压盘的效果不一样是吧。嗯,好,然后呢,我们这边压缩的话呢,有一个叫。那我们去看一看有没有和他座的相关的东西。诶,这个看有是不是有一个这样的东西啊,这个有一个加密是杠E,有一个杠T,这个E是什么意思呢?E呢,就是以交互式方式加密,那交互式式方式加密呢,那就是啊我RETC。呃,二吧,因为我刚才已经有一个了,然后把epc给它。加密就是那个压缩一下,压缩一下我同时加密,你看他要提供密码,假如说Windows Windows是两遍。啊,这样的话就打包成新的一个EPC2了,这个呢,实际上是被加密了啊,那我要解压缩,怎么解呢?解到一个文件夹里吧,在这个目录下,我们把这个目录也清理一下。
98:14
诶把那个目录清一下,清完了以后没东西了,那我们要解,那么就是on z,然后把贝塔下的ETC2的VIP。解缩啊,解到哪呢,就解到当前目录下。那解的话呢,你看是不是要输密码了啊,密码啊大家看解开了,解开以后大家发现没有,前面你发现ETC什么什么,前面少了一个什么。少了个斜杠,少了个斜杠,那事实上大家刚才你没有观察到吗?我们压缩的时候好像也是这样的,压缩的时候它也自动的把那个斜杠给加上。你看解开了,解到当前目录下了,看了吧,啊,当然我们刚才回到这来,回到这来,我刚才用的是这种交互式的输密码,但这种方式不太适合于写在脚本里。
99:12
你说写脚本怕一执行卡在那让我输密码,这不就不能实现自动化了吗?所以我们刚才提到了VIP,它有一个输密码的地方,不用输密码什么呀,大P你看直接把这个密码放在后面,那就是ZP杠,R杠,大P123456。然后后面跟上ETC点,比方说三嘛,这这个。大家看压缩的时候是不是本身它也不带斜杠,为什么你知道吗。为什么不带斜杠啊?因为我这明明加压的时候人家是有斜杠ETC的呀。你想清楚没有,你将来要把这个斜杠加进去,一解压缩,就按照这个斜杠的绝对路径往里解,那是不是把系统文件给覆盖了它,所以故意的把这个斜线删了以后呢,你是不是可以解压缩到你想指定的某个相对路径下,不会覆盖现有文件,所以这是有原因的。
100:15
啊,所以人家很聪明的,是不是很聪明的,当然这样做完以后呢,这个密码就加进去了啊加上去以后呢,我们现在也是回到我们解压缩,你想解到哪个地方,你就进到那个目录里,然后用on zip,然后直接找到我们刚才压缩那个文件啊叫etc3.vip,这时候由于我们加了密码了,这时候就得输密码了。啊123,哎,当然这个能不能变成非交互式方式。他这有没有非交互式方式的密码啊。啊,那他这儿还有一个什么。杠杠HHH有没有pass个类似的呀?
101:06
哎,也有看,那就是大P呗,是吧,大P贝塔下的,呃,这个这个etc3.vip,把密码写在这123456。开心不开心呀,啥意思呀?我们为什么要变成这个样子,就是因为我们只有这种方式才能实现自动化,你才能把它放到脚本里啊,你不能这就手工执行,那不就成了人工执行了吗?你把这个命令写在脚本里面,将来它才能实现批量执行吗?明白意思了吧?这就是解压缩的命令啊,压缩命令,解压缩命令,咱们都可以用这种方式。啊,这个就是呃,交互式的,交互式杠E,还有非交互式的用这个啊解压缩的话呢,也可以也可以杠RP,把这个密码给它写上123456。
102:12
啊,这个这个这个这个是交互式的,这个是交互式的,下面这个是非交互式,非交互式在这儿可以把这个密码写在这123456。啊,那就是咱们掌握的这个写法啊,所以这个都工工具呢,我们将来工作中确实有的时候一些敏感文件,比方说你看这里面我放了什么,这些东西大家看不懂是吧?但是是不是有些过去字你能看懂吗?KKK啊,这个K是啥呢?就是你们家的那个银行密码啊,你们家银行密码你觉得不加点密,你觉得踏实吗?是不是家财万贯,是不是放在保险箱里面,这个东西一定要保护好吧,实际上你们每个人都是亿万富翁啊,啊,不能说这个多少多少吧,但你每个人都是很有钱的。
103:15
你们知道人体的部件多少钱啊啊,这个一个肾得多少钱呢,是吧?一个眼角膜多少钱?你知道黑市上很多很多钱呢,不要觉得你自己一无所有,实际上你这身肉也很值钱的,知道吗?如果哪天想死的时候,你可以把这个捐了嘛,也是为世界做贡献了,所以不要想不开啊,你身上是很有钱。现在实际上你是个也是千万富翁之手是吧,百万富翁之手,所以你们不要想不开啊,你们是很有钱,好了,那我们刚才已经把压缩工具讲完了啊,下午呢,我们来说说打包是吧,行了,上午上到这儿吧,咱们下午再见。
我来说两句