软连接概述软连接类似Windows中的快捷方式本身是一个独立文件有自己的inode内容只是指向另一个文件的路径字符串。其特点如下可以跨文件系统、跨分区、跨磁盘可以链接目录源文件删除后软链接变成死链接失效软链接大小 指向路径的字符串长度支持相对路径、绝对路径创建软连接创建方式ln -s 源文件 目标链接示例# 相对路径创建软连接rootmaster:/data00/tmp# ln -s sort.txt sort.txt.ln# 查看rootmaster:/data00/tmp# ll -i | grep sort28573733 -rw-r--r-- 1 root root 77 Apr 14 10:56 sort.txt28573734 lrwxrwxrwx 1 root root 8 Apr 14 11:05 sort.txt.ln - sort.txt# 通过上面可以看到其inode不相同文件大小不相同当修改链接文件后源文件会产生什么变化呢会发现两个文件都会同时修改rootmaster:/data00/tmp# echo haha sort.txt.lnrootmaster:/data00/tmp# cat sort.txt.lnhaharootmaster:/data00/tmp# cat sort.txthaha当我们删除链接文件时源文件会删除吗源文件不会删除删除链接文件对源文件不会产生任何影响rootmaster:/data00/tmp# rm -rf sort.txt.lnrootmaster:/data00/tmp# ll | grep sort.txt-rw-r--r-- 1 root root 5 Apr 14 11:11 sort.txtrootmaster:/data00/tmp# cat sort.txthaha当删除源文件会对链接文件产生什么影响呢发现链接文件失效# 创建软连接rootmaster:/data00/tmp# ln -s sort.txt sort.txt.lnrootmaster:/data00/tmp# ll | grep sort.txt-rw-r--r-- 1 root root 5 Apr 14 11:11 sort.txtlrwxrwxrwx 1 root root 8 Apr 14 11:15 sort.txt.ln - sort.txt# 删除源文件rootmaster:/data00/tmp# rm -rf sort.txtrootmaster:/data00/tmp# ll | grep sort.txt.lnlrwxrwxrwx 1 root root 8 Apr 14 11:15 sort.txt.ln - sort.txt# 查看源文件内容rootmaster:/data00/tmp# cat sort.txt.lncat: sort.txt.ln: No such file or directory回到顶部硬连接概述在同一个磁盘分区中inode号码相同的文件互为硬链接。其特点如下多个文件名直接指向同一个 inode所有硬链接地位完全平等没有主次之分删除其中一个文件本体不会消失直到所有链接都被删除不能跨文件系统不能跨分区、跨磁盘不能链接目录系统禁止防止循环引用不占用额外空间只多一个目录项源文件移动 / 改名后链接依然有效只有链接数 link count 变为 0文件才真正删除文件大小一致创建方式ln 源文件 目标链接示例# 创建硬连接rootmaster:/data00/tmp# ln uniq.txt uniq.txt.ln# 可以看到inode完全一样文件大小一样rootmaster:/data00/tmp# ll -i | grep uniq.txt28573736 -rw-r--r-- 2 root root 96 Apr 14 10:58 uniq.txt28573736 -rw-r--r-- 2 root root 96 Apr 14 10:58 uniq.txt.ln当修改硬连接文件后源文件会修改吗会同时修改rootmaster:/data00/tmp# echo hahaha uniq.txt.lnrootmaster:/data00/tmp# cat uniq.txthahaharootmaster:/data00/tmp# cat uniq.txt.lnhahaha删除源文件硬连接会失效吗不会失效rootmaster:/data00/tmp# rm -rf uniq.txtrootmaster:/data00/tmp# cat uniq.txt.lnhahaharootmaster:/data00/tmp# ll -i | grep uniq.txt.ln28573736 -rw-r--r-- 1 root root 7 Apr 14 11:39 uniq.txt.ln回到顶部软连接和硬连接区别对比项硬链接软链接本质同一文件的多个名字指向路径的快捷方式是否有独立 inode否共用是独立能否跨分区不能能能否链接目录不能能源文件删除后依然可用失效红底闪烁占用空间几乎不占占少量存路径支持相对 / 绝对不关心支持适用场景防误删、多路径访问软件版本管理、快捷入口回到顶部常见使用场景硬链接防止文件被误删多入口备份同一文件在多个目录使用不占双倍空间软链接软件版本切换ln -s python3.10 python目录快捷访问跨目录共享程序 / 配置