创建文件的副本,该副本会自动更新

Ale*_*ide 3 symlink files

我正在使用 Fedora 26。我想要一个脚本在启动时运行,但也在我的脚本文件夹中有这个脚本。我怎样才能让它/etc/init.d/foo在我编辑时得到更新~/scripts/bar?我在想一个符号链接,但我真的不知道如何让它运行

Cli*_*ong 5

符号链接非常简单,但您需要了解更改是双向的,符号链接内容的更改会影响原始文件,反之亦然。那是因为符号链接实际上只是指向原始文件的指针,当您打开符号链接时,您的应用程序会以静默方式打开原始文件。

如果这就是您想要的,只需(从终端):

ln -s /PATH/TO/TARGET/FILE /PATH/TO/NEW/SYMLINK

您不需要脚本来更新符号链接。您还可以通过将目标文件的路径设为相对路径(从保存符号链接的位置查看)来创建相对符号链接。像这样:

cd /home/myuser/folder1/folder2
ln -s ../file-in-folder1 symlink-in-folder2
Run Code Online (Sandbox Code Playgroud)

但是,如果您随后将符号链接移动到另一个目录,则会破坏它对原始文件的引用。

您可以使用 ls 的长输出查看符号链接链接到的位置:

ls -l /PATH/TO/SYMLINK 或者 ls -l /PATH/TO/DIRECTORY/WITH/SYMLINKS/IN/IT

您还可以创建指向目录本身的符号链接。相同的规则适用。与普通目录的唯一区别在于,-r在使用rm. 因为它们并不是真正的目录……它们是指向目录的文件。