我有一组包含多个链接的文件。
这些文件归 TFS 源代码控制所有,但对它们进行了其他链接。如何在不清除只读位的情况下删除其他链接。
可以安全地假设:
- 这些文件有多个链接
- 您没有删除 TFS 拥有的名称
- 没有潜在的竞争条件
- 您对文件拥有 ACL 完全控制权
- 机器不会断电,你的程序也不会被杀死,除非它花费的时间太长。
假设是不安全的:
- 设置了只读位(如果不是,请不要设置它)
- 如果遇到错误并且最初设置了只读位,则可以将其保留为清除
不要迁移到超级用户——如果在那里迁移,答案是不可能的,因为没有标准工具可以做到这一点。
在一个假设的 *nix 系统上,需要对文件有写权限才能删除它,有一个涉及 fchmod() 的解决方案。然而,出现这种行为的系统是 Windows 系统。