![两个文件具有完全相同的权限,但其中一个以只读方式打开](https://linux22.com/image/1193868/%E4%B8%A4%E4%B8%AA%E6%96%87%E4%BB%B6%E5%85%B7%E6%9C%89%E5%AE%8C%E5%85%A8%E7%9B%B8%E5%90%8C%E7%9A%84%E6%9D%83%E9%99%90%EF%BC%8C%E4%BD%86%E5%85%B6%E4%B8%AD%E4%B8%80%E4%B8%AA%E4%BB%A5%E5%8F%AA%E8%AF%BB%E6%96%B9%E5%BC%8F%E6%89%93%E5%BC%80.png)
在 Ubuntu 22.04 VM 上,当我查看我的文件时,我发现它们具有正确设置的读/写/执行权限root
:vboxsf
$ 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.pvs
file 的隐藏文件,但没有.#foo.pvs
。当我尝试删除此文件时,我无法在 Ubuntu 中执行此操作(至少不容易,甚至使用 也行sudo
),因此我从 Windows 中删除了它。据我所知,该.#bar.pvs
文件似乎是在我在 PVS 中编辑文件时创建的,但系统在打开时崩溃了,因此在退出时无法正确删除它。
这样做之后,打开它emacs
不再将文件设置为只读。