两个文件具有完全相同的权限,但其中一个以只读方式打开

两个文件具有完全相同的权限,但其中一个以只读方式打开

在 Ubuntu 22.04 VM 上,当我查看我的文件时,我发现它们具有正确设置的读/写/执行权限rootvboxsf

$ ls -lrt foo.pvs bar.pvs
-rwxrwx--- 1 root vboxsf 23492 Jan 24 12:08 foo.pvs
-rwxrwx--- 1 root vboxsf  1328 Apr  4 09:50 bar.pvs

用户(我)被设置为组的成员vboxsf。但是,当我在中加载这两个文件时emacs,它们的行为不同。第一个文件(我在这里调用foo.pvs,但这不是它的真实名称)工作正常,但第二个文件(我调用bar.pvs)出于某种原因以只读方式打开。Ubuntu(或 VirtualBox)中是否有其他隐藏设置影响了这一点?如果这很重要,这是在 Windows 11 主机上安装的文件夹中。

我在写这个问题时还发现了另外一个事实:当我bar.pvs使用 打开时vi,它是非只读。但是,进行更改并保存不会改变 中的状态emacs。我需要在 中打开文件emacs,因为我实际上是在 (SRI 的原型验证系统)中打开文件pvs,它是 的外皮emacs

答案1

简短回答:删除隐藏文件.#bar.pvs

当我尝试为我的问题添加更多细节时,我收集了解决问题所需的信息。

在执行 时ls -lart,我发现了一个名为.#bar.pvsfile 的隐藏文件,但没有.#foo.pvs。当我尝试删除此文件时,我无法在 Ubuntu 中执行此操作(至少不容易,甚至使用 也行sudo),因此我从 Windows 中删除了它。据我所知,该.#bar.pvs文件似乎是在我在 PVS 中编辑文件时创建的,但系统在打开时崩溃了,因此在退出时无法正确删除它。

这样做之后,打开它emacs不再将文件设置为只读。

相关内容