本来今天是想吧unp那个实例搞定的,中途学了会Makefile 糊里糊涂的就研究了一下mv.c文件。
相信像上篇文章中使用mv命令的你早已很是熟悉这个命令了,咱们看看他的具体实现吧,本来是想直接在系统中找到他的,后来发现他却是个比Linux还要早的历史产物归属于GUN,直接到ftp://ftp.gnu.org/gnu/这里有个叫coreutils的文件夹就是啦,里面是我们用的各种命令,我下载的
是8.5写着个东西时候最新的版本了!
废话不多说,咱赶紧看看mv.c都干了什么吧!
上面的代码我翻译了mv.c的部分注释也加了一些我自己的注释
这段是main函数对上面两个主要函数的调用,其他的地方先略着,有兴趣的自己看看吧~~~
可以看出movefile函数主要是处理了目录的情况,和路径的问题,然后把实际的工作交给了do_move,然后do_move函数主要完成了当出现跨文件系统的时候怎么处理文件copy的后续工作,mv命令主要还是使用了copy.c中的copy函数,这个文件暂时我还没看全,先写这些防备忘记也分享给大家共同进步。
我这个英语很不给力,大家别见笑,想看原版的直接下载就好……