ln命令
格式和参数
语法格式: ln [参数] [源文件或目录] [目标文件或目录]
参数 | 全称 | 作用 |
---|---|---|
空 | hard | 对源文件建立硬链接 |
-s | soft | 对源文件建立软连接(符号链接) |
-f | force | 强制创建链接,即使目标文件已经存在 |
-b | backup | 强制创建链接,即使目标文件已经存在 |
-i | Interactive | 交互模式,若目标文件已经存在,则提示用户确认进行覆盖 |
-v | verbose | 详细信息模式,输出指令的详细执行过程 |
-d | direction | 此选项允许“root”用户建立目录的硬链接 |
软连接、硬链接和拷贝的区别
软连接:
- 链接文件内存储的是原文件的inode,也就是说是用来指向原文件文件,这两个文件的inode是不一样的
- 软链接以路径的形式存在,类似于Windows操作系统中的快捷方式。
- 删除软链接的链接文件,被链接文件不会受到任何影响,但是修改软链接文件内容,被链接文件内容也会被修改
- 软链接可以跨文件系统 ,硬链接不可以。
- 软链接可以对一个不存在的文件名进行链接,硬链接不可以。
- 软链接可以对目录进行链接,硬链接不可以。
- 删除软链接的被链接文件,链接文件会变成红色,这时打开链接文件会报错,报找不到被链接的文件这种错误
硬连接:
-硬链接实际上是为文件建一个别名,链接文件和原文件实际上是同一个文件,这两个文件的inode号是同一个(ls -i)
- 硬链接以文件副本的形式存在,但不占用实际空间。
- 硬链接不允许普通用户给目录创建硬链接。
- 硬链接只有在同一个文件系统中才能创建。
A硬链B 删除B后A依然存在,且可用。
A软链B 删除B后A存在,但不可用了(相当于Windows下快捷方式指向的目标不存在了)
拷贝:
- 拷贝产生的文件是一个独立的文件,有自己的元信息和inode节点
软连接和硬链接在使用时用哪一个,主要看是否需要链接目录,是否依赖相对路径,没有限制条件两者应该都可以使用。