我正在使用Windows 10专业版Linux子系统,并已从Microsoft商店安装了ubuntu。
我注意到了这个问题。当我启动ubuntu应用程序,然后cd到Windows分区时,如
cd /mnt/g/my_data
其中G:\my_data
是我的数据存储位置,然后从Windows中,使用Windows文本编辑器编辑文件,说文件G:\my_data\foo.txt
,然后保存文件。
现在,我希望从ubuntu内部看到的文件显示我对其所做的更改。但是当我做这样的事情时,在子系统内部
`ls -l foo.txt`
它不会更新其时间戳。而且当我执行cat foo.txt
时,它不会显示我刚刚对该文件所做的更改。
但是,当我关闭整个子系统,然后再次重新启动并重复以上操作时,现在它显示了那里的最新更改。因此,这是某种缓存问题。
当我将子系统长时间启动时,这似乎发生了。说几天。然后,子系统看不到对文件所做的更改。这并非一直发生。我现在才看到它,并通过重新启动子系统对其进行了修复。
还有其他人看到过这个问题吗?从Windows更改后,子系统是否应该立即查看文件中的最新更改?
这是一个严重的问题,因为我在子系统内部使用了makefile,并且由于从子系统外部更改文件而导致时间戳不更新时,它们开始不起作用。
当然,我只从Windows更改位于/mnt/g
上的文件,而从不更改/编辑子系统本身内部的Windows中的任何文件。