00:00
好,我们继续来上课,那么这节课呢,我们再来看一下我们这个文件系统啊,那么咱们今天呢,主要就是讲我们文件相关的这个相关的操作啊,那么咱们先来了解一下文件系统,那么文件系统主要讲什么东西啊,那么所有跟文件相关的操作啊,都在文件系统里边啊,你比如说我打开文件呢,或者打这个关闭文件呐,对吧,读取啊或者改名啊对吧?等等这些的所有的操作都什么都是在这个文件系统里面,所以文件系统啊,只是咱们pap知识的一个完整的模块而已啊,那对这个文件系统有什么作用呢?也就是说我们所有所有文件,所有对文件进行的这个任何的操作,都需要这个文件系统相关的函数来进行支持,那么也就意味着我们所学习的这个文件系统需要学习什么,学习它里面相关的这些函数啊,那么今天呢,咱们主要以文件为主啊,讲文件的内容,那么在这个下一关中呢,我们会讲目录的操作啊,还有什么呢?还有我们的上传与下载啊。
01:00
好了,那么第一个我们来看创建文件,那么创建文件用的哪个函数呢?用的是touch,看到了吧,来摸摸一个对吧?然后这里边有参数,然后有什么呀?有这个可选参数,可选参数还有返回值对吧?它实际上不是创建文件,它是干嘛呢?它是修改文件的这一个什么呀?访问时间,如果文件不存在,它会干嘛会创建,比如说在这里面咱们来看,在这里面我们去搜一下th touch to CHR会干嘛,设定文件的访问和修改时间对不对,然后这里边说如果文件不存在折会怎么样创建,所以我们用它干嘛进行创建一个文件,那好了,那我们来看一下,在这里边我们去新建,新建一个什么P评文件,这里面我们来叫做零五啊文件叫F相关的FUC函数,第一个我们要来了解的是,创建一个文件使用的是th to,对吧?但实际上它真正的意思什么是修改?叫设定吧,是吧,设定文件的修改和访问时间啊,这是它真正的意义,那好了,那咱们来看,比如说这里面我to ch创建,创建一个什么呢?我创建一个这个比如说叫做 eduwork.cn,对吧,那么诶不不不是点CN啊,点TSP啊,那么当前目录我肯定是没有这个文件的,对吧?当前目录都在这里面展示的,没有这个文件,那么他会给我一个返回的结果,对吧?那么现在你来看VR。
02:25
Dop打印Dollar好了,那这个时候我们再来看啊。嗯,这里边。找到零五来,你看返回什么布尔值的处,那么这个时候我们看这里边有没有这个文件啊,叫做edo work,有了吧,哎,文件是不是创建成功了,创建成功以后啊,这个是你注意啊,我这里面的时间你看是不是18.3,呃16呃,对,18:23:08,都是18:23:08,对吧,那现在我再刷新一次,它是不是也是错对吧?但是这个文件已经存在了,他还会再去创建吗?不会了,而是干嘛,而是修改这个时间,那你看它的这个时间。
03:01
来把它取消,重新再打开一下啊。来右键属性,那你看它的时间是不是变成26秒对吧,修改和访问时间是不是被重新设置了。对不对,哎,这是什么?就是我没有指定时间,我没有指定这个第二个和第三个参数,是不是默认获取当天时间,那如果我指定的话,比如说我让他time当天时间加300对吧。那这个也一样,Time当前时间加300,那这个时候你看我再来刷新,刷新完以后依然是处,那这个时候我们再回过来,再来看一下它的属性。来你看时间是不是就变了,看到吧,当前时间加300,当前时间加300是不是五分钟以后啊,哎,那OK,这就是咱们这个通过修改这个文件的访问和修改时间啊来去干嘛,创建一个文件啊好了,那创建文件我们会了,接下来我们还能干嘛呢。来这里边我们是不还可以看。他这个,诶不是这里这里啊。来你看是不还可以移动文件了,对吧?哎,移动或者是重命名或者是复制对吧,那好了,那么这里边我们先去干嘛呢?我们先去复制一个文件吧,来复制。
04:08
一个文件啊,复制用的什么用的叫拷北Co p啊,那么你想想它的参数应该给什么,肯定先给什么原路径吧,原路径。对吧,再给什么,再给这个哎路径啊,再给新路径是不是开始帮你移动了,那这里边比如说刀了得绕,还是我来接收一下啊。To ch,原路径在哪啊?是不是一样的?当前目录叫做edu.tst。移动到哪了?我要移动到当前目录下,是不是有个tu MB这个目录,移动到这个目录下还叫什么呢?还叫edu,我改个名吧,EDUT,也就是说我在复制的时候,我还可以干嘛,是不是还可以改名啊,那VF-DP,在这里边,我们再来打印它的结果啊,来到了Rep我们再来看。刷新。告什么?呃,Touch的,诶touch的第二个参数叫做第七行,有错。
05:09
错了,我用是什么用的是touch数了啊,Co copy啊,好了,那这回再来看,再来刷新,你看这回返回什么,返回一个true,返回一个true以后这个书我们来看啊,在这里边edu work点点TSP有了,对吧?在TB里边是不是也有个edu.tst是不是也实现了复制啊,对不对?哎,这就是咱们的复制,等于说复制时还可以干嘛,还可以改名啊,那复制完以后,接下来还有什么呢?我们还有移动文件,移动文件,那么移动文件我们用的是哪个呢?在这里边。算了,我先改名吧,叫重命名。重命名。文件啊,在这里面到了。Result等于等于什么啊?重命名,你要把谁?我要把这个。你看old name是不是旧的edu.tst对吧?我要把这个名改成什么呢?改成这个你好点TST。
06:02
对吧,那所谓的重名名是不是就把这个文件名改成它了,对吧,那现在我们一样再来看好了,VDOP打印一下Dollar result啊,那这个时候。刷新是布尔值的错,那我们再来看,在这里边,在17这里边,我的这个文件是不是就变成你好的TXT了。对吧,哎,那么能能让它重命名,我们也可以干嘛,也能移动文件啊移动文件。移动文件,移动文件怎么移动呢?还是借助我们重命名的文件叫rename对吧,你要把谁,我要把这个你好你好点TS移动到哪,移动到当前目录THUB下边对吧?依然我可以改名,也可以直接叫你好点TST是不是也行啊对吧?那现在我再来打印这个结果。糟了。来,我把这些注释掉,因为不注册时候会报错呀,是吧,复制到不怕啊,不怕报错,其他的会报错啊,这个创建这个我也给他注释掉了啊,好了都注释掉,现在只剩这一个移动了,那这个时候咱们来看我再来刷新是不是布尔值的错没问题吧,那现在你看当前目录是不是就没有了,在tmb里边是不是就有个银行的TST对吧?那我想问的是,当我再刷新的时候,会不会报错,再刷新你看报不报错,报错了报什么呀,系统找不到指定的文件。
07:14
是不是返回波尔兹的fo了,对不对,哎,这就是我们什么移动文件啊,好了,那我们把它注意这那么能移动还能怎么样,是不是还能删除啊,第五个叫做删除文件啊,删除文件,删除文件一下到了绕等于什么,等于link啊,我们使用不对,是按link啊,用按link这个功能来删除文件,删除哪个当前目录THUB下边有一个叫什么叫做edu.tst的这个文件,那好了,那这个时候我们来打印一下它的这个结果。Ret,来,我们再来看。走,你是不返回不可之处,那反而不可之处,我们现在来看这里边。呃,这里边呢。E do.t是不是没有了,那我再刷新一下呢,是不是报错了,说什么呀,说没有这样的文件或目录对不对?哎,在我的第16行,那你看第16行这里面是不是做删除呢?哎,这是什么呢?删除文件,那你看文件的这个创建,复制,重命名,移动,还有删除,这是不是都是我们很常用的。
08:15
对不对,那还有什么东西呢?咱们再往这里面再来看啊,还可以干嘛,还可以获取文件的大小,还有判断是否是文件,以及判断文件或者目录,注意啊,它是判断文件或者目录,也就两个都可以,对不对。然后还有什么呢?还有文件是否可写可执行,可读可写对吧?以及我们获取创建时间呢,修改时间呢,访问时间呢,那这些我们就挨个都看一下啊,知道什么,还有打开文件,打开关闭读取对吧?那这些呢,我们一会儿再来看,我们先把这些基本的我们先来看一下,那我把这些呃获取文件大小对吧?那OK,把这些CTRLC都拿到我们当前这里边来啊。来,然后我们给他批量注释一下。
09:01
好在这里边来注释,注释完以后,现在咱们来看啊,获取文件大小。呃,返回文件大小在这呢,对吧,那OK。啊,这里面判断是否是路径。怎么说的这么大呢?好,我们先来看它啊,获取文件大小,那直接feel size在这里面给个文件,那这里面有文件吗?咱们有,咱们哪个都是文件对吧?C01。F01UNC杠日历点PP这个文件,我要统计这个文件的大小,那他最后是不是也会给我返回它的大小啊?那咱们看一下VR-dup打印,打印什么呀?Dollar s,那我们看它多大啊,在这里边我们来刷新一下,刷新完以后告诉啊40824084082的字节,那你看是不是这么样的啊,返回到零七这里边,找到零一这里边,右键点击属性来看是不是4082的字节对吧?那同样这种字节我们能不能转换成这种方式来显示呢?是不是也可以啊,那怎么来显示?
10:06
怎么来显示,那是不是在这里边我们就可以通过制作一个文件大小转换的函数吧,比如在这里边看好了啊,制作一个文件大小转换的转换的。函数对吧,那func方式,比如说叫做to。Said。I你要传给我一个大小对吧?当你传给我一个大小以后,在这里边我来去判断一下,判断什么呢?我判断你的这个大小,如果你的这个two size要是大于po w,比如说1024的这个1024的二次方对吧?二次方型够了啊,文件一般的没那么大啊。哎,不对,是size啊,不是to size SI z啊,如果你要是大于这个区间,在于大于这个区间的好,那你是不是就在MB的范围对吧,用了22次方嘛,是不是MB啊,哎,那你就是包了。S。IZ啊,好,那也就是我的这个Dollar了,比如说我来个单位吧,等于什么呢?就等于MB。
11:06
对吧,因为咱们在计算机里边是不是这样的,你看好了是不是这个,呃,1024的BYT字节,BYT等于什么,等于1KB,对吧,然后呢,1024的这个KB。等于1MB。是不是这样的,哎,然后呢,1024的MB是不是等于1GB对吧,那你看我1024的二次方是不是到MB的范围对吧,也就是在MB的范围,那到MB范围我是不是对应的再把它做一个转化了,那比如说Dollar了SI就应该等于,等于什么呢?等于这个呃,Dollar了SI除除以谁除以这个po。1024的1024的二次方对吧,然后那只要做除法就会有小数,那我让随这个四舍五入一下啊,让四舍五入。保留两位小数好了,这不就可以了嘛,对吧,那再否则A。
12:05
E,再否则,如果到了SIZ要是大于我po,这不还用pow了嘛,POW1024的一次方是不是就1024对吧?再否则我要大于1024的话,那这个时候我的单位就应该在什么?是不是就应该在我的这个KB的范围啊KB对吧?然后呢,我的Dollar size是不是就等于ru round谁呢?我的Dollar size除除以谁啊?除以一个1024是不是就可以了,对吧?然后一样保留两位小数,保留两位小数好了,最后re q类什么是不是我的Dollar size连上我的Dollar单位是不是就可以了?哎,好了,那这边咱们再来转换看一下可不可以啊,这里边我直接是什么突。Size,把这个size传进去对吧,打印它的结果,那再来看它的结果,走你多少3.99KB看到吧,哎,然后这里边诶不是它啊,那这里边。来右键。属性这里边他有什么3.98,他是他是什么,他没有做四舍五入,我们做的什么四舍五入了,对不对?哎,拿到了3.99KB啊好了,那现在这个统计大小我们是不是就会做了啊好了,那统计大小完事儿以后我们再来看,还有判断是否是文件,那比如说在这里边啊,我们直接来一个这个Dollar re来打印这个结果了,Az-feel判断谁呢?我说给随便给个A,它是文件吗?来打印一下。
13:27
P2。打印到result,我们来看它是不是文件在这里边来刷新,放什么false,说不是对吧,那好了,那我问你a.GPg.GBG,我这里边有是吧,没有,那a.GPG是不是文件,首先你要知道我这个文件在这里面是不存在的,对不对?没错吧,哎,那好了,那这回再来看。再来刷新。是不是也不是对吧,那比如说我给他一个已经存在的,比如这里边叫do-a action,这个时候我再来判断走你。
14:03
诶,Do-X啊,没写全叫PP对吧?来刷新是不告部分知数是不是一个文件,哎,这就是咱们这个函数判断是否是文件啊,那一样,你看这里边是文件返回处,不是文件返回false对吧?那再来判断文件和目录是否存在,他能判断文件也能判断目录啊,所以这里边你看比如说我就直接接受返回结果了,等于什么呢?VI-eiss比如说我判断什么呢?判断这个A,那他可能会理解为是文件,也可能会理解是母录,但是不管那么多,它只看它存不存在,那你看这个时候他告诉什么呀。布尔值false存在吗?不存在对不对,那比如说这里边我再来一个,我来一个什么呢?来a.gbd.gd是不是也不存在。你是不是也是false对吧,你只能给存在的或者不存在,比如说这里边我来一个什么呢?来一个这个THHUB,就是这是目录吧,哎,看这个目录是否存在啊,走你这不告不值的处对不对,那再来CTRLCCTRLV,我把它注释掉,这里面我再来一个什么呢?T Hu MB里边有个你好的TST吧,我看它存不存在,那这个时候再来就得高出。
15:03
看到了吧,哎,这是判断文件了,对不对?哎,这是判断文件是否存在啊,另外判断什么是否可读可读可写可执行,这些我们倒不怎么用,用的比较少。那一样咱们来用一下,比如说这里边Dollar了,IDP等于等于什么A-ex。这个东西对吧,把文件给了一个,比如说当前目录t Hu MB下边的就就叫你好点TS,咱就判断这个文件了啊来我们来打印,打印谁呢?打印这个Dollar re,好,那同样可读呢,Dollar re result等于is杠呃,Wi。支持企业对吧。RI啊。W。那我应该先我先写成读吧,来re错了A-re然后判断谁是否可读啊,当前目录UB杠你好点是否可读对吧,然后我们再来打印这个结果。
16:03
Re。然后判断文件是否可写吧,那Dollar ret等于A-W。RIT。EALD。对吧,这里边你看有一个匹配,有一个没有益的,有一个有益的,对吧,它俩有什么区别,来咱看一下S-wi RI,你看一个他判断给定的文件名是否可写,对吧?还有一个他你看什么意思,是不是它的别名,哎,所以他俩你用哪个都行啊,一样的啊,然后在这里边。孩子当前目录HUB里边呢,你好点啊好了,那再来打印这个结果来。高result好,那接下来看这个文件周你刷新都什么true true第一个什么40行是不是 false40行是谁,40是不是这里,哎可执行吗?不可执行,因为它是个TST文件嘛,对不对,所以它是一个放,它不是一个可执行出去,对吧,那好了,那现在把它注释掉,大家看读写是不是都行啊,那同样比如说我把这个读给你限制住了啊来。
17:02
比如说。嗯,在这里边。Windows里边改权限不是太好改啊,只读你说调只读不行哦,调只读的话是不是它就不能写了,那你看可不可以啊来刷新诶好可以是吧,是不是变成报纸了,写是不是变成报,因为我调整什么,是不是只读了,哎,那OK,我再给它还原回来啊,还原回来就是判断文件有没有这些权限啊。干这个时候用好了,那把它也注释掉了啊,这个也注掉了,然后再来,那么获取文件的创建时间可以使用什么?Feel c time,还有获取文件的修改时间和获取文件上次访问的时间,那这一对我们也来用一下Dollar time等于什么呀?叫做feel c time本谁呢?把这里边的HUB下边的你好点TST我们丢进来对吧,然后还有谁呢?还有这个也一样,到了也叫time了啊,等于这个叫feel m time。把这个当前目录HUB下边的你好点TST。
18:02
你好点TST再放下来,让我们V压钢DP打印这个。糟了。Time。这个也一样,为二-DP打印这个Dollar time好了,然后还有一个是a time,对吧,获取上次的时间啊,那Dollar,呃,Result,对了,Dollar time啊,这叫time了,等于呃,Fill a time在这个一样,当前目录TH。Umb里边的你好点TST再丢进来好了,那这个时候我们再来打印这个time,我们看来这三个时间啊,来这里边我们再来刷新三个时间,是不是拿到什么拿的都是时间戳了,哎,那时间戳我们需要干嘛,是不是对应的转换成时间那艾一个。在这上面艾啊艾一个。Date里边YMD。空格,Hi。S转换哪个转换这个刀看对吧,那整个这一句话我复制一下,放到每一个挖之前。
19:03
来,再来一个万达么子线,好,那现在我们再来看周尼,我的时间你看。时区是不是不对呀?哎,用到时间时区肯定我们需要去调整,所以在这个页面最顶部我们去set,不对,应该是date-def beforeult-time中杠set设置为PRC啊好,那这个时候再来看走,你失去这个就不对了,哎,你看那这个时候我们再来去访问右键。点击属性来你看。是不是二三三十一三一二三三一三一是不是都对了,哎,这就是跟文件相关的这些这些操作啊,跟文件相关的这些操作再往下没有了吧,诶获取这些时间都有了,对吧?诶好了,那文件剩下的最重要操作什么?是不是就是我们的这个打开一个文件,然后读取一个文件,或者是关闭一个文件,对吧?还有我打开一个文件,写入一个文件,关闭一个文件,是不是就这两步操作了,对不对?哎,那OK,那这节课我们先到这里。
我来说两句