硬链接共享inode且不能跨文件系统,删除原文件不影响访问;软链接是独立文件可跨系统,原文件删除后失效。使用ln创建硬链接,ln -s创建软链接,推荐绝对路径避免失效。

在Linux系统中,ln 命令用于创建链接文件,分为硬链接(hard link)和符号链接(symbolic link,也叫软链接)。理解它们的区别和使用方法对文件管理非常重要。
硬链接与软链接的区别
硬链接是文件的另一个名字,指向同一个 inode,不能跨文件系统,也不能链接到目录。删除原文件不影响硬链接访问数据。
软链接类似于快捷方式,是一个独立文件,包含目标路径字符串。可以跨文件系统,也能链接目录。如果原文件被删除,软链接会失效(变成“悬空链接”)。
创建硬链接
语法格式:
ln 源文件 目标链接
示例:
ECSHOP时尚化妆品商城网站整站系统,基于ECSHOP2.7.3UTF-8版本制作,适合服装,首饰等商城网店使用。 安装方法:1. 下载程序后,删除data目录下的install.lock文件。2.访问:域名/install 按照提示进行安装.3.安装完成后,登陆网站后台---还原数据库4.还原后.模板管理---选择男装模板5.清空缓存6.修改管理员密码.还原数据后,后台信息:用户名:admin
- ln file.txt hardlink_file —— 创建 file.txt 的硬链接 hardlink_file
- 此后修改 hardlink_file 或 file.txt,内容同步,因为它们是同一个文件的不同名称
创建软链接
使用 -s 选项创建符号链接:
ln -s 源文件或目录 软链接名
示例:
- ln -s /home/user/docs document_link —— 创建指向 docs 的软链接
- ln -s ../config.conf config_link —— 创建相对路径的软链接
推荐使用绝对路径避免链接失效,尤其当软链接被移动时。
查看链接信息
用 ls -l 查看文件详情:
- 普通文件显示为:-rw-r--r--
- 软链接显示为:lrwxrwxrwx,并标明指向的目标,如 config_link -> ../config.conf
- 硬链接不会特别标注,但通过 inode 号判断:ls -i file.txt hardlink_file 显示相同 inode 即为硬链接
注意事项与常见问题
- 不能对目录创建硬链接(除非超级用户且文件系统支持)
- 创建链接时,目标文件名不能已存在(否则报错),可用 -f 强制覆盖:ln -sf new_target link_name
- 删除源文件后,硬链接仍可访问数据;软链接则失效,显示为红色或带问号(取决于终端颜色设置)
- 循环软链接(A 链向 B,B 链向 A)会导致递归错误,应避免









