Unix 如何做到拷贝正在使用中的文件?

2015-05-29 11:12:38 +08:00
 xiaosen0624

目前我了解到的是

问题:

2929 次点击
所在节点    程序员
8 条回复
seers
2015-05-29 11:17:17 +08:00
windows也可以拷贝正在使用的文件啊?
hjc4869
2015-05-29 11:24:21 +08:00
@seers 那要看文件是以什么方式打开的。如果是Read就可以,ReadWrite就不行。
ffffwh
2015-05-29 12:33:28 +08:00
好像unix的文件锁一直被吐槽
Tiande
2015-05-29 13:37:10 +08:00
windows/unix 修改文件,保存前是否是先在 缓冲区 修改呢?
如果是的话,那你拷贝的肯定是 源文件 而不是 正在修改的文件 喽。
类似 vim notepad++ 都是可以在修改的时候 copy 的,因为他们打开的其实只是在 缓冲区的副本。

拷贝的时候,数据要先读到内存的,一般情况下都是最后一次保存的文件版本。
如果你能在复制到内存的过程中,改变文件内容,可能会对结果有影响吧。

最后想请教 unix 是有特指啥吗? IBM? SUN?
msg7086
2015-05-29 20:02:07 +08:00
Unix 如何做到不加锁的情况下, 确保拷贝的文件和源文件一致 ?

<< 并不能确保吧……
xiaosen0624
2015-06-11 09:17:55 +08:00
@dtdnqsb 没,这个我没说清楚.我指的是Mac OS
xiaosen0624
2015-06-11 09:19:02 +08:00
@msg7086 那就是说我在拷贝过程中,继续进行修改,得到的结果会是两份文件不完全相同? 实际上拷贝的是修改前的文件? 这个如何测试呢?
msg7086
2015-06-11 11:05:54 +08:00
@xiaosen0624 你自己做下实验就知道了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/194616

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX