网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

linux下分区内部mv和跨分区mv的区别有哪些

这篇文章给大家分享的是有关linux下分区内部mv和跨分区mv的区别有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

创新互联坚持“要么做到,要么别承诺”的工作理念,服务领域包括:成都网站设计、网站建设、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的调兵山网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!

§ 0x01 问题列表

  1. 为什么不同,为什么一个快一个慢?

  2. 为什么跨区域mv失败时,不影响原来的文件?

这样的释疑过程也是自己对文件系统(filesystem)理解的加深过程。

§ 0x02 原理+释疑

文件系统中文件是如何保存的?

  1. 文件在文件系统中保存时(以linux下的ext2文件系统为例),是通过inode+block组织的。inode对应文件的元数据,block对应真实的数据;

  2. inode对block的管理不能跨分区,因为inode保存的block信息是按照分区中的block序号进行的,脱离对应的分区将没有意义;

  3. linux VFS中文件树是通过inode组件起来的。

分区内部mv的过程:mv a b 因为是在内部移动,所以只是修改了inode的父节点inode。

  1. 将inode a的父节点指向b位置,将inode a对应的文件名,修改为b。

对应的是一个rename的系统调用。

跨分区mv过程:

  1. 分配inode b;

  2. 将a中的block copy到b所在分区中,将对应的block归到inode b之下;

  3. 将inode a删除。

通过以上过程回答2个问题。

  1. 为什么同分区快?因为不涉及底层数据block的拷贝或者移动,数据block都在一个分区内。

  2. 跨分区mv失败时,为什么不影响原来的文件?因为跨分区也是block的copy过程,不是move,在第3步删除inode a之前,a对应的数据都是完整的。

感谢各位的阅读!关于“linux下分区内部mv和跨分区mv的区别有哪些”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!


网页标题:linux下分区内部mv和跨分区mv的区别有哪些
标题来源:http://bjjierui.cn/article/gjppgd.html

其他资讯