Linux 符号连接
符号连接
符号连接也叫软连接
- 用特殊文件“符号连接文件”来实现
- 文件中仅包括了一个路径名
- 命令ln -s和ls -l
1 | ln -s users_on sym.link |
- 类型为l,大小为8字节,文件中只存放users_on字符串
- 文件的最后一次写时间以后不再变化
- 一旦建立了符号连接,删除操作删除的是符号连接文件,其它所有操作都将访问符号连接所引用的文件
符号连接的实现
符号连接中的相对路径
若符号连接包含绝对路径名,引用绝对路径名
若符号连接包含相对路径名,是相对于符号链接文件的位置(不是相对于调用进程的当前工作目录)
设当前目录(bash进程的当前目录)为d
1 | ln -s d1/dlb d1/dx |
在d1下新建文件dx
访问d1/dx实际访问d1/d1/d1b
硬连接与符号连接的比较
硬连接
- 在数据结构层次上实现
- 只适用于文件,不适用于目录
- 不同文件系统之间也不行
- 硬连接能够完成的功能软连接可以做到
符号连接
- 在算法软件上实现
- 硬连接能够完成的功能软连接都可以做到
- 适用于目录,也适用于不同的文件系统
- 同硬连接相比要占用操作系统内核的一部分开销
- 循环式符号连接,以及处理方法(解析路径时设置符号链接解析计数器)