复制和剪切到底谁快?
移动文件时,复制和剪切哪个更快?
这个问题相信很多人都会问到,但是,相信很多人又都不太清楚。
直觉告诉我们,不能简单地说谁快谁慢,因为不同的情况下,结果是会不一样的。
X86的文件系统在硬盘上面是用双向链表的数据结构来存取的,以下我会分成四种情况来说明。
情况1:从X盘某一文件夹剪切到X盘另一文件夹。
X86文件系统是采用更改链表前置和后继所指向硬盘地址来实现的。因为单纯的前置和后继的更改非常快(只需要写入地址),所以几乎感觉不到等待时间。
情况2:从X盘某一文件夹复制到X盘另一文件夹。
此操作除了要修改前置和后继之外,还要向硬盘写入数据实体。故速度要慢于情况1。
情况3:从X盘某一文件夹剪切到Y盘某一文件夹。
对于此操作,操作系统需要首先检查Y盘上是否有足够的空间来存放X盘文件。然后进行链表的整体复制(前置&后继&数据实体),最后将X盘上的链表(前置&后继&数据实体)清空,故速度最慢。
情况4:从X盘某一文件夹复制到Y盘的某一文件夹。
此操作开始部分和情况3一致,只是最后无需将X盘上的链表删除,所以速度要稍快于情况3。