有没有办法让两个同名的文件位于不同的文件夹中,并且每当对其中一个文件进行更改时,另一个文件会自动实施相同的更改?
答案1
如果这两个文件位于同一文件系统上(即不在两个不同的分区上),那么您可以创建一个文件作为硬链接:
ln /path/to/one_file /path/somewhere/other_file
完成此操作后,/path/to/one_file
和/path/somewhere/other_file
是完全相同的文件的两个名称。如果您删除其中一个,仍可以通过其他名称访问内容。
只要程序不取消链接其中一个文件并重新创建它,这种方法就有效。
同样,您可以创建从一个名称到另一个名称的符号链接:
ln -s /path/to/one_file /path/somewhere/other_file
在这种情况下,它/path/to/one_file
包含实际数据,而/path/somewhere/other_file
只是指向它的“指针”(符号链接)。
这并不要求两个路径位于同一文件系统上,但如果程序取消链接符号链接并将其重新创建为文件,则关联将被破坏,就像硬链接一样。