编辑具有多个硬链接的文件

mxd*_*dsp 5 hard-link

假设我有两个硬链接指向同一张图片。

/photography/picture_1.jpg
/best_pictures/picture_1.jpg
Run Code Online (Sandbox Code Playgroud)

如果我编辑会发生什么/photography/picture_1.jpg?硬链接是否已损坏,我是否最终得到了 2 个不同的文件?它是否保留链接并因此编辑由第二个指针访问的“第二个”文件?

Jos*_* R. 12

硬链接只是同一个 inode(文件)的替代名称。编辑在任一路径中找到的文件将更改两个路径指向的图片。

软/符号链接是不同的:它是指向原始文件的指针,可以被破坏。硬链接不是指向文件的指针,它是不同名称下的同一个文件

但是,某些编辑工具可能会使用临时文件(而不是真正的就地编辑)来创建和保存您的编辑。因此,它最终可能取决于您使用的工具。您可以尝试使用您选择的编辑器,看看它是否在编辑后更改了文件的 inode 编号。从输出中找出文件的 inode 编号ls -i filename(感谢Sparhawk对该注释的评论)。

也可以看看:

  • 我认为这取决于所使用的程序。例如,如果您使用类似 `gimp` 之类的内容进行编辑,我怀疑(未测试)因为它“导出”为 jpeg,它会被一个新文件覆盖,而不是真正的“编辑”。 (2认同)