问题标签 [hardlink]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
filesystems - 用硬链接原子地替换文件到另一个文件
我有两个目录条目,a 和 b。之前,a 和 b 指向不同的 inode。之后,我希望 b 指向与 a 相同的 inode。我希望这是安全的——我的意思是如果我在某个地方失败了,b 要么指向它的原始 inode,要么指向 a inode。尤其是我不想以 b 消失而告终。
mv 在覆盖时是原子的。
当目的地已经存在时,ln 似乎不起作用。
所以看起来我可以说:
ln a tmp mv tmp b
如果发生故障,会留下一个“tmp”文件,这是不可取的,但不是灾难。
有一个更好的方法吗?
(我实际上想要做的是用包含该内容的单个 inode 替换具有相同内容的文件,在所有目录条目之间共享)
unix - Unix中的硬链接和符号链接
我只是想澄清一个硬/符号链接是否实际上是一个创建的文件??
我运行了命令:
-- ls 命令将这 2 个链接显示为一个文件。
所以我的查询是,是否ln / ln -s
真的创建了一个文件?
问候,darkie15
windows - 删除文件链接而不清除只读位
我有一组包含多个链接的文件。
这些文件归 TFS 源代码控制所有,但对它们进行了其他链接。如何在不清除只读位的情况下删除其他链接。
可以安全地假设:
- 这些文件有多个链接
- 您没有删除 TFS 拥有的名称
- 没有潜在的竞争条件
- 您对文件拥有 ACL 完全控制权
- 机器不会断电,你的程序也不会被杀死,除非它花费的时间太长。
假设是不安全的:
- 设置了只读位(如果不是,请不要设置它)
- 如果遇到错误并且最初设置了只读位,则可以将其保留为清除
不要迁移到超级用户——如果在那里迁移,答案是不可能的,因为没有标准工具可以做到这一点。
在一个假设的 *nix 系统上,需要对文件有写权限才能删除它,有一个涉及 fchmod() 的解决方案。然而,出现这种行为的系统是 Windows 系统。
c# - 如何在 C# 中创建硬链接?
如何在 C# 中创建硬链接?请问有什么代码片段吗?
winapi - 在没有 GetFileInformationByHandle() 的情况下获取 Windows 硬链接计数
有没有办法在不使用 GetFileInformationByHandle() 的情况下在 Windows 上获得文件硬链接计数?
MSDN 说:
根据操作系统的底层网络功能和连接的服务器类型,GetFileInformationByHandle 函数可能会失败,返回给定文件的部分信息或完整信息。
在实践中,检索网络共享上的链接计数,无论两端的 Windows 版本如何,总是返回 1。它工作的唯一情况是访问 samba 共享时。看起来他们忘记复制 Windows 错误/限制。此外,不告诉您它们是部分的“部分结果”对于 API 调用来说非常好。
c++ - 如何以编程方式将硬链接与 Windows 7 中的真实文件区分开来?
我在文件大小和已用磁盘空间之间存在差异(总文件大小甚至大于磁盘大小)。我想是因为在 Windows 7/Vista 中存在许多硬链接(到 WinSxS 组件)。但是如何以编程方式将硬链接与 Windows 7 中的真实文件区分开来?
linux - Git 和硬链接
考虑到 Git 无法识别指向存储库之外的符号链接,使用硬链接有什么问题吗?
Git可以破坏它们吗?你能指点我详细的信息吗?
ntfs - 如何枚举指向文件的所有 NTFS 硬链接的路径?
我可以GetFileInformationByHandle
用来确定与文件关联的硬链接的数量。如何枚举构成这些链接的路径?
例如,如果C:\TEMP_1.BIN
和C:\TEMP_2.BIN
是指向相同内容的硬链接,并且我从中GetFileInformationByHandle
确定C:\TEMP_1.BIN
has nNumberOfLinks=2
,我如何才能发现其他链接的路径?(例如C:\TEMP_2.BIN
)
GetFileInformationByHandle
:http:
//msdn.microsoft.com/en-us/library/aa363788%28v=VS.85%29.aspx
c# - 如何将 CreateHardLink(string lpSymlinkFileName, string lpTargetFileName, IntPtr lpSecurityAttributes) 与目标的相对路径一起使用?
使用
我应该能够为 lpTargetFileName 使用相对路径吗?
它似乎对我不起作用。应该是?它适用于完整路径。
编辑:
这是 Windows 7 和/或 2008
emacs - emacs 不会破坏 hg 控制文件的硬链接
我有一组反复无常的克隆,我通过制作一个主存储库的克隆,然后使用 cp -rlp 制作它的副本来创建。我的期望是我可以独立使用它们,因为我使用带有默认设置的 emacs,所以它应该会破坏硬链接。但事实并非如此——当我修改一个文件时,所有硬链接的“副本”也会发生变化。ls -i 表明它们都是相同的 inode,正如预期的那样,并且它们的父目录不同。
“复制备份”为零。'make-backup-files' 是 t。
如果我创建一个示例文件,对其进行硬链接并对其进行编辑,emacs 会根据需要断开链接。
mercurial模式有什么东西可以颠覆这一点吗?(状态行显示“Hg:50503”,我知道我有某种反复无常的意识。虽然它不会显示为 Ctrl-H m 的次要模式。)