0、一句话总结
硬链接是“硬”的,因为它直接指向了inode。
软链接是“软”的,因为它是通过其他文件才指向了inode(就像是双节棍或多节棍,比较灵活,所以是软的)。
1、什么是软链接和硬链接?
软硬链接均可以理解成“无需copy文件,创建一个文件的别名”。示意图如下:
硬链接一旦创建后就无法区分哪个是“源文件”,也就是说指向同一个inode的所有硬链接都是等价的。对应到上图中,“硬链接A1”和“硬链接A2”是等价的,没有主次之分。
2、怎样创建软硬链接?
使用ln
命令创建:
ln [-s] old_path new_path
不带-s表示创建硬链接,带上-s表示创建软链接。这里的s其实是symbolic(符号)的意思,不过记成soft也没啥影响。
有时可能容易混淆old_path
和new_path
的顺序,可以通过下面这句话帮助记忆:
软硬链接不能“无中生有”,所以要先指定现有文件,再指定需要新建的链接。