文件复制过程中文件发生了变化会怎样?

我做了这样一个实验,复制文件的过程中,如果文件本身正在发生着变化,那最后复制结束后的文件应该是处在什么过程中呢?
是复制开始时的状态,还是复制结束时的状态,还是中间文件的某个状态。

 
使用脚本file.sh来不断地想file.dmp文件中插入行,文件会一直变大。

file.sh:

点击(此处)折叠或打开

让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:国际域名空间、网站空间、营销软件、网站建设、衡水网站维护、网站推广。

  1. #!/bin/bash
  2. i=1
  3. while true
  4. do
  5. i=$[i+1]
  6. echo $i >> file.dmp
  7. done


中断脚本。


此时file.dmp的最后一行数字是 152940.


我们使用$ cp file.dmp file.dmp.bak   进行复制,然后立即运行file.sh脚本插入行。
等cp命令结束后(文件要够大,否则时间很快,不能出效果),查看file.dmp.bak文件的最后一行,发现是152940.


总结结论是复制生成的文件会和开始复制时的状态一致,及时在复制的过程中源文件也在不断的变化。




另外验证使用rsync效果一样。


欢迎大家佐证。


文章标题:文件复制过程中文件发生了变化会怎样?
标题来源:http://pwwzsj.com/article/gesddg.html