符号链接编辑和硬链接的区别

时间:2018-07-19 17:13:16

标签: linux bash git symlink ln

我刚刚使用以下命令创建了指向目录的符号链接:

ln -s /path/to/real/ link

1-如果我随后cd进入link/,我在其中所做的任何更改都会反映在原始目录中吗?

2-另外,源目录是git repo,那么我可以从符号链接目录中执行git命令吗?

3-这些答案以及有关符号链接/硬链接(或通常为ln之间的区别的任何一般解释)都会动摇。

谢谢!

2 个答案:

答案 0 :(得分:1)

符号链接的工作方式与原始目录的另一个名称相同。它们与硬链接不同,因为如果用相同名称的新文件替换原始文件,则符号链接指向新文件。硬链接仍然会链接到原始文件,无论其名称如何。

符号链接可以“悬挂”,这意味着它的目标不再存在。硬链接不能。

目录不能被硬链接。过去允许这样做,但这会导致目录循环,这是一件坏事。

是的,如果您cd symlink可以执行所需的任何操作,就像在实际目录中一样,因为您在实际目录中。您的外壳程序(取决于其配置设置)将使您认为自己在名为符号链接的目录中,但是所有操作系统功能都将返回实际的目录名称。

答案 1 :(得分:0)

执行cd link/后,当前目录将变为/path/to/real,并且您对该目录所做的任何更改都将在“真实目录”中。

提防cd -Lcd -P-请参见cd上的POSIX-并与pwd类似。