怎么把一个较大的文件夹移动到另外一个磁盘里
怎么把一个较大的文件夹移动到另外一个磁盘里?
谢邀
对于你说的跨文件系统,我是这这么理解的:在不同的磁盘分区或者是跨计算机进行文件的移动
首先简单解释一下,在同一个分区内部进行文件的移动,在这种情况下,文件的内容和位置是不发生改变的,仅仅是将文件的索引进行重新编排。这个操作几乎是瞬间完成的。以
FAT
分区为例。一个文件存放在某个文件夹下,则该文件夹有一个目录项记录这个文件的起始簇号,而簇的序列在FAT
表中。当这个文件移动到本分区的另一个文件夹下时,文件的内容和簇的序列(FAT
表)都不改变,仅仅是把原目录项标识为删除,并且在新的文件夹下添加一个代表该文件的目录项指向原起始簇,磁盘读写的数据量非常少。如果是跨分区的行为,那么就涉及到实际上的文件复制过程了。这里引用用户“Tom Lake”的回答:多个文件同时移动会导致磁盘寻找储存位置的时间增加。那么在这种情况下,移动文件的时间自然比整个移动的时间要长。这是理论上的。实际上,还和你计算机当前的状态有关,因为其他的操作对文件的读写效率依然有不可忽视的影响。
另外,个人对用户“孤单的毛毛虫”的相关解答也持认同的态度:单线程移动,文件连续读写相对较多,磁头寻道次数少能节省大量的时间。另外单线程的IO和CPU占用肯定也要低一些。
这个问题的关键是文件的读写,鉴于前面的用户提到“单线程和多线程的概念”。这里就不得不说。众所周知,多线程可以提高指令执行的效率,但是这个“提高效率”是对于CPU执行的计算指令而言。
文件移动的瓶颈不是CPU的指令计算执行的效率,而是在Disk I/O,多线程并不能不能提高Disk I/O的性能,反而有可能增加磁盘的寻道时间。
另外做出一点说明:上述内容中“寻道”一词是针对机械硬盘而言的。个人比较喜欢“寻找存储位置”这个称呼。