硬链接:
硬链接是原始文本的一个镜像副本,创建硬链接后,如果把原始文件删除,连接文件也不会受到影响,因为此时原始文件和链接文件,互为镜像副本,
为什么要创建链接文件而不直接复制文件呢?
当你需要将同一个文件保存到多个不同的位置,而且还要持续更新的时候,硬链接的重要性就体现出来了,
如果你只是单纯把文件复制到另一个位置,那么另一个位置的文件只会保存着复制那一刻的文件内容,后续内容不会随着原始文件的更新而更新, 而使用硬链接时,各个镜像副本的文件内容都会同时更新
软链接
又称为符号链接,是一种特殊的文件,它指向系统上的另一个文件或者目录,类似于Windows的快捷方式,链接文件中记录的只是原始文件的路径,并不记录原始文件的内容,符号链接通常用于对库文件进行链接,也常用于链接日志文件和网络文件系统(NFS)上共享的目录
软链接和硬链接的区别
软链接 | 硬链接 |
---|---|
类似于Windows系统中的快捷方式 | 硬链接是原始文件的一个镜像副本 |
软链接可以跨文件系统进行创建 | 硬链接没有别名,不可以跨文件系统进行创建 |
链接中任何一个文件发生改变,都会同步到链接中的其他文件 | 源文件发生改变 链接文件发生改变 |
可以指向文件或者目录 | 硬链接只能指向文件 |
链接文件和原始文件之间的inode和文件权限不完全一致 | 硬链接文件和原始文件的inode和文件权限完全一样 |
链接文件只记录原始文件的路径,不记录原始文件的内容 | 链接文件记录了原始文件的内容 |
如果原始文件被移除,软链接就会因为指向不存在的文件而失效,这被称为"挂起链接" | 即使原始文件被移除 也不会影响链接文件 |
通过ln -s <原始文件> <链接文件> 创建 | 通过ln <原始文件> <链接文件> 命令创建硬链接 |
软链接文件的文件权限中有一个特殊标记 小写L | 硬链接文件没有特殊标记 |
通过find / -type l 命令可以查找软链接文件 | 通过find / -samefile <原始文件> 命令可以查找硬链接文件 |
通过symLinks <目录> 命令可以查找失效的软连接 | 硬链接不存在失效链接 |