00:01
大家好,欢迎大家继续收看上硅谷的云算课程,我是沈超老师。这节课呢,我们继续来学习命令。那我们上节课讲了一下命令的基本格式,这节课我们开始讲命令,那linus有多少命令呢?各位,这个事儿可能没法统计,为啥?理论上来说,Linux下有多少种软件,每种软件可能就会发展出一堆的。那已知命令可能有几万种?几万条制作。那虽然已经崩溃了,哇塞,这么多命令,哎,不用太担心,其实常见命令也就是几百个吧,二一二百个左右。那但是一二百个还是够多,我们今天我们这一章节,我们如果我其实我也没数啊,到底有多少命令,但是单边面可能有四五十条,如果再加上它的选项内容,可能得有七八十个这个甚至更多的命令。那这种情况下,如果没有分类。
01:03
这些东西就很难记忆对吧,所以我们人为把命令做了一下分类,我们这节课来学习目录的操作命令。那。我们上一章讲的这个LS命令。其实就是一个目录操作命令,它的作用是显示目录下有什么内容,对吧,这是讲过了,那除了is之外呢,我们还有一些目录命令,比如说第二个。我们来看看CG有没CD的作用是切换目录啊,切换你的所在位置,OK。那C进之内本身还是非常简单的,怎么用啊,很简单,CD你要去哪,你就。你就这个后面写什么目录回撤就去了,CD目录本身CT命令本身不难,但是各位。他有一个比较恶心的概念。这个概念叫做绝对路径和相对路径。
02:01
什么叫绝对路径和什么叫相对路径呢?那各位,这个事儿可能得换个问法。那我想问大家,什么叫绝对,什么叫相对呢?那还是不太好回答,那我再换个。世界上有没有绝对的事儿呢?问这样的问题的时候,我们的学员都脑洞大开啊,就是说。有人说。我绝对是男的,这事儿现在可真不好说。那还有人说人绝对会死,这个事儿也有可能只是局限于我们现在的认知和技术能力,到底人死了算不算是是真死了,还是孩子有这个,这个转世的可能也不好说,所以啊,这事反正不怎么靠谱,靠谱,但是呃,我其实不太想说这个,因为有点较真,或者说这个钻牛角尖,我们就说我们现在的事。然后呢,还有人说超哥绝对帅。
03:04
我靠,这个说完之后,弄得我不知道该怎么反驳啊,其实我们说如果在现实生活中,我们按照辩证唯物主义来说,我们认为世界上是没有绝对的事情。对吧,呃呃,但是啊,刚刚是这句话,我刚刚说的这句话,世界上没有绝对的事,这句话是绝对的。各位,为什么我们认为世界上没有绝对的事儿,因为参照物不同。参照物只要发生变化,它的值可能就会变,所以我们认为世界上没有绝对的事儿。比如说光速是绝对宇宙速度对吧,但是光速这种速度是最不可能绝对的,为啥?比如说你拿个手电筒往外往外射,这个手电筒一定是光速,但是你拿着手电筒边往外射,你边往前走。虽然你的行进速度跟光速比几乎可以忽略不计,但是那个速度绝对就不算是光速,对不对?所以我们说我们认为世界上是没有绝对的事情。
04:05
但是在Linux当中是有绝对路径。也是有相对路径之分的。那什么叫绝对路径,因为什么?Linus是有根目录的呀,这个字写错了啊,这个根从根目录树根的这。Linus是有最高目录的,最高目录是根目录,对吧?那根目录是Linux的最高一级,所以所谓的绝对路径就是从根目录开始,一级一级的进入目录就叫绝对路径。换句话说,看。这样写就是卷轴直径。你不论去哪个目录,先哪个根目录下开始数,这就叫绝对。那什么叫相对路径呢?你看啊。我CD到根下,你看根下现在是不是有这样一些目录,我CDU看左侧,如果不打根。打根就是绝对路径,不打根就是相对路径。什么叫相对?相对就是参照物,参照物就是你当前所在位置。
05:04
你当前目录下如果有这个目录,那么把相对路就是可以进来小先啊,后面这个斜杠仅仅只是代表目录下。代表目录下。有也行,没有也行,其实并没有严格的要求,但是左边这个斜杠,它可代表的是根,加根就是绝对的,不加根就是相对的,那这条命令可以执行。因为根下。是有这个有目录的。但是。同样的变量。因为你的参照物变了。所以同样的命令,除非你在优色下还有一个优目录,否则。否则这个命令就会报错。看到了。哎,也就是说啊,绝对路径是拿根目录作为参考值的,从根下值。相对论,这是至拿你当前所在位置做参考值,那就会导致什么。
06:04
同样的一个命令,用相对路径来敲,有可能在不同的位置就会报错,所以绝对路径是这样的,你不论在哪个位置,只要写绝对路径,它就一定可以正确执行。所以。我们是推荐大家使用绝绝乳胶。尤其是作为初学者,原因使用绝对路径报错的几率小,但是绝对路径打的时候很麻烦,他要从最高级目录一级一级找下来,相对路径相对来说更简单对吧?那我们推荐你在初学的时候,尤其你还没有建立这种目录之间的关系和命令和操作习惯的时候,建议你尽量使用绝对路径。当你后期对Linux非常熟悉,你不会再搞错目录的时候,可以用相对路径,因为相对路径更简单。好了,分清了吗?绝对路径和相对路径。啊,这就是我们首先讲的第一个事儿,其次回来。
07:01
我们来说一下CD命令的几个简化用法,第一个就是波浪号。它这个东西直接代表的是返回到用户的加目录,也就是说看着不论你在哪CD空格波浪号。就会回入加目录,当然我说其实我不习惯这样看着我还回到这儿,我CD直接回撤,它也是返回加目录,这两条命令的作用是一样的,直接返回加木。求色减号。这个这是书的印刷的演讲,有点看不清了,这是减号,它代表的是上次所在目录什么意思?我进入加目录之前,我是不是在src,所以我CD减号是回回到src。进入上次。你进入这个目录之前在哪,它就会到哪,那我再敲个CD键,我会到哪去。我进入src之前,我是不是在加目录下,那我就又会回到加目录啊,进入上次所在目录,好,其次点点点我们讲过了,代表了一个是当前目录,一个是上级目录啊。
08:10
好了,CD的命令并不难,OK,这里面其实最容易搞混的还是绝对路径和相对路径,大家搞清楚这个事。呃,其实初学的时候,我们很多学员很多问题都是这个东西来考虑,所以还是建议初学的时候不要嫌麻烦,尽量用这个绝对不行好。那切换目录有了。那我们来看看。怎么显示目录文档上得写啊?那我们讲一下这个命令被非常简单,干嘛PW回撤,这就是显示你当前在哪,说过了啊,显示你当前在哪,那接下来我们来看看建立目录如何建立。建立目录使用的命令是make第二命令啊,这个命令还是比较简单的,但是提醒大家。建目录的时候,你一定要注意你所在位置了,为啥它会新建?我说过了,只有两个位置允许新建哪两个?
09:10
一个是加目录,一个是临时目录对吧。所以你不要在别的位置下新建目录,不安全啊,有问题那建立目录的命令MK加后面加目录名就行,回车有了吧。有了吧,那删呢,M点零三就删掉了好。这是建立目录,那我想问你一个问题啊,各位学员什么意思?我当前目录下有一个叫ABC的文件,我能不能再创建一个ABC目录?我已经有一个ABC文件,我能不能再建立一个ABC目录?我相信你在心里告诉我是能,我不知道你们是如何建立的这种错觉。各位,任何操作系统,不论是Windows还是linus,都绝不会允许出现同名文件和同名目录,所以如果有同名文件,再建同名目录的时候一定会错。看见啊,首先没见EDC目录,其次报错。
10:16
有人反驳了,有人说老师不对啊,Windows可以啊,咱们看一下Windows行不行,看着我在这里新建一个文本。我再新建一个目录。有人说,看这不行吗?各位你看清楚啊,Linus在这里做了个Windows,在这里做了个花招。新建的文件夹叫新建文件夹。而新建的文件叫新建文本文档,点TXT看清了。这两个文件你能用哪只眼睛看它也不会长得一样啊,对不对?但如果我要这样来做,你看着。我把新建目录改成123。我再把新建文本文档也改成二三,各位你可搞清楚啊,有人说这样写是行了,看生效了对吧?但你可搞清楚,这后面多了个点TST,这不是同一个文件,同名文件,同名目录,怎么可能,你看呢?如果我要把这个全部改掉123。
11:13
看着报错了。看见了,重试重试,重试文件名与目录文件夹重名。看见了,所以我跟你讲,这是Windows给你耍了花招,第一,所有的Windows文件是有扩展名了,就导致就算起同名的,他和他俩也不是一样的。第二,新建文件叫新建文本文档,而新建目录叫新建文件夹,默认也不一样,给你造成了这个错觉。说白了还是什么Windows,觉得与其跟你讲道理,还不如我来帮你做它,所以用了这样一个花招,给你带来错觉,所以我提醒你啊。这个事儿是我们的学员最容易干的事,建了个文件叫ABC,建个么多还叫ABC,这个事你你得搞清楚啊,在任何系统里都是不可以的,不要再犯这样的错。
12:03
好了,这是如何创建目录?如何创建目录,然后呢?那我问你,我能不能做这样的事,我能创,能不能创建一串目录,比如说我在123下创建234,在234下创建345。这样如果直接创建会报错了,那怎么办,我们。Linux支持一个叫杠P的选项,它的作用是递归。所谓的递归,就是。就是一级一级的建立这个目录。也就是说它会自动的先建了123,再加234,再加2345啊,现在没创建,但是我在这看加一个杠P。嗯。好阿拉有了吧,CD到123里。234有了吧,进去2340345有了吧,对吧,好,这就是递归创建啊好。
13:00
建立文件,我们就说到这,那能建就应该能删,对吧,怎么删啊,我们使用一个叫做I'm第二的命令来删除I'm第二是。Empty direct的缩写,小心这个单词是空的,空白的意思。换句话说。这个明明很笨。他只能删除空目录,如果目录下有别的文件,就会报错。比如说我们试一下。我在这里创建个空目录啊,比如说HJK。那如果要用FJ来删这个HJK没问题。回车删了吧。但是我要去删123,它就会报错,原因这个目录下还有子目录,还有子文件。删不掉。那怎么办?有人说老师你进去先把那个456删了,再删345,再删加三,那我们。
14:00
要是在实际工作中,我的子目录下有1万个子文件,1万个子目录,你怎么办?肯定不可能一个一个删,对不对,所以我说各位。I'm加二,我们并不推荐使用这个命令,实在是不好用,那我们用什么这个知道就行了,我们基本上不用这个命令,我们使用的是I'm命令。各位。I'm命令是一个删除文件的命令。那我们后面会讲,我们在后面会讲,但是这里我先说一下连接,因为要用那I'm命令,它的作用是删文件。那我如果要删目录呢,需要加一个杠R选项,也就是递归删后面加这个目录名。回车。他会问你真的吗?你确定你不反悔?你真不反悔,你真真真正正不反悔?哼,也就是说,这里面如果有1万个齿轮键,你可能最少需要打1万个来。当然。
15:00
删了没问题。但是我问你这样删痛快吗?是不是很不方便,怎么办啊,我重新创建刚刚那个目录,我把它重唱出来。啊,重新创建,然后呢,我删一下M加F选项F在这里是false强制的意思。那回撤。哎,这时候是不是就不再询问,直接删除。看起来痛快了吧。但是我其性。这个东西极其讨厌,为什么删了可就删了。他是不能后悔的,没有回收站,没有回收站。杀完再想找回,基本上就不太可能了。各位。我跟你讲啊,Linux里面最容易犯错的这个东西就在这儿删除,他和早上讲防火墙不一样。防火墙,我们说为什么经常容易错把自己踢掉,那是由于防火墙比较复杂。
16:04
就是你对防火墙再熟悉的人,只要脑子稍微晕,就有可能犯错误。而这个容易出错的原因是它太简单了。简单到你的手指头的记忆有可能会高出给你的大脑运转,还有,你甚至脑子都没反应过来,命令一回车,这数据就没了。所以我跟你讲啊。这个误删除几乎是所有的观察员都碰到过的事,都有。只是有些人的运气比较好,可能只是在虚拟机里删那些无关紧要的数据,有些人可能就运气比较背,把携程的那个数据库直接删掉。哎,各位,我真跟你讲,哎,你要真把携程数据库删了,虽然携程没有最终追究他的法律责任啊,因为他不是有心的,但是你的职业生命也就结束了,为啥?你到任何一家公司去应聘,人家问你干嘛呢?嘿嘿,我就是当年把携程给干掉的家伙,你觉得谁还会要你对不对?所以啊。
17:05
I'm是极其容易误操作。极其容易,所以我们在这里提醒你,一定要记得这个东西,当你重新删除的时候,一定要脑子想一下,这事儿你到底要不要干。我再说一遍,这是几乎所有的管理员都曾经有过的事儿,你们尽量避免这个事儿,那就没别的办法了吗?各位linus本身是没办法,删了就删了,而且找不回。那但是这东西太危险了,怎么办?我们现在建议你安装一些这样的东西,看着。On delete这样的东西。各位,这是Linux下的一个开源软件,它的作用是如果装了这个东西之后,误删除之后,它就可以尝试通过它来这个恢复,但是请你小心。如果要想用它来恢复,你必须是先装它,然后误删了之后。
18:04
才能把它恢复回来,有可能还不一定是所有,但如果是你先误删了再装这个也没什么毛用,所以提醒你。在服务器做操作的时候,你的所有的服务器是都应该预装这个东西。这么小的东西你会忘了,所以我提醒大家应该有一个服务器操作手册,把一些重要的服务器的安装规范,比如说安装的时候,首先装完了是要配IP,配完IP就要配防火墙,配完防火墙就应该装这些误删除了防误删的东西。然后是不是要再配什么定时物,把它都记下来,以后装系统都照着它的规范来做,这个事儿得你们自己来干。那当然,这个目前超出我们目前的知识点,你暂时是看不懂,没关系,我告诉你名字EST on delete啊。这样的一个这个名字ET是不是就是ET文件系统on delete就是反删除的意思,那你们后面用到自己查一下,其实非常简单,这个命令很简单好用啊,只是。
19:04
我们就随便就是不是暂时现在我们现有的知识才解释不了这东西,你记得这事儿,所以啊,提醒你啊。I'm加二不建议使用,因为它只能删除空布,我们一般使用的是I'm啊,一般使用的是I'但是I'm实在是太容易出错。首先提醒你,你千万别指望数据恢复,你尽量避免不删除,再一个在真实服务器里应该有防备删除的手段啊,这个e delete这样类似的工具啊,其实除了它还有其他的工具,呃,这个工具我用过,还是可以的,但是就一旦误删之后,你一定要禁止,或者说对你的服务器操作越少,恢复的可能就越多。否则一旦你的数据块被别的文件给填满了,这个文件可能就恢复不回来了啊,大家注意这个事儿。好了。这节课呢,我们讲了Linux下的一些常见的目录命令啊,这这几个目录命令都是非常常用的,需要你背下来啊,当然也需要练M加二的话了解一下,那我们可能需要你知道的是I'm命。
20:14
好,这节课的内容就是这样,我们下节课再见。
我来说两句