ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 文件复制过程中文件发生了变化会怎样?

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

原创 Linux操作系统 作者:yesu898 时间:2017-02-16 08:30:18 0 删除 编辑

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

 
使用脚本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效果一样。


欢迎大家佐证。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/24052272/viewspace-2133614/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2015-08-15

  • 博文量
    25
  • 访问量
    47646