windows 操作文件

 

 

 

Windows操作系统允许用户同时打开同一文本文件的多个实例,主要原因是记事本程序的设计与操作系统的文件访问机制。

首先,我们先来看记事本程序的设计。当你在记事本中打开一个文件时,它会将文件的内容读入内存,并在内存中进行编辑。这意味着,实际上你在编辑的不是文件本身,而是文件的一个内存副本。只有当你保存文件时,记事本才会将内存中的内容写回文件。这就是为什么你可以在不同的记事本进程中打开同一文件进行编辑。每个进程都有自己的内存副本,它们互不干扰。

其次,我们来看Windows操作系统的文件访问机制。Windows默认的文件共享模式允许多个进程同时读取同一文件。只有当一个进程试图写入文件时,其他进程才不能访问该文件。因此,只要你不保存文件,就可以在多个记事本进程中打开同一文件。

需要注意的是,这种设计方式虽然方便,但也有一定的风险。如果你在两个记事本进程中同时编辑同一文件,并且同时保存,那么最后保存的版本将会覆盖先前保存的版本,可能导致数据丢失


链接:https://www.zhihu.com/question/602494045/answer/3044586265

notepad 并没有占用文件,打开后,copy到内存,就关闭了。可以打开后,移动文件,试下。
其他程序占用的情况下(一直打开的情况下),无法修改名字,无法移动。
 


与 Windows 不同, Linux 允许一个文件在写入的时候被读取(或者在被读取的时候写入),本文就来探索一下多个进程同时读写同一个文件会产生的效果

 

 

正在使用此文件,无法打开

 

 

参考:

https://www.zhihu.com/question/602494045/answer/3044586265

 

posted @ 2023-12-26 14:23  redrobot  阅读(8)  评论(0编辑  收藏  举报