在我们学习和实操的过程中,经常会遇到两个相对的词语:Linux中的软连接、硬连接。这两个词语容易混淆、不好区分,在我们的使用过程中会带来一些问题。今天,小九就带大家理一理这两个词~
软连接
软连接是指向另外一个文件的文件,类似Windows中的快捷方式文件。
软连接的查询方法
如何才能知道哪些文件是软连接文件呢?
我们先进入etc目录,然后列出文件(以re关键词作为结果筛选)
root@test:/etc# ls -l | grep re
-rw-r--r-- 1 root root 367 Jan 27 2016 bindresvport.blacklist
drwxr-xr-x 2 root root 4096 Apr 9 06:04 firefox
lrwxrwxrwx 1 root root 33 Dec 25 16:13 localtime -> /usr/share/zoneinfo/Asia/Shanghai
-rw-r--r-- 1 root root 105 Jan 30 20:28 lsb-release
lrwxrwxrwx 1 root root 21 Jan 30 20:28 os-release -> ../usr/lib/os-release
drwxr-xr-x 4 root root 4096 Dec 25 16:13 resolvconf
lrwxrwxrwx 1 root root 29 Dec 25 16:13 resolv.conf -> ../run/resolvconf/resolv.conf
-rw-r--r-- 1 root root 3663 Jun 9 2015 screenrc
-rw-r--r-- 1 root root 4141 Jan 25 2018 securetty
-rw-r--r-- 1 root root 1656 Jul 25 2019 tmpreaper.conf
root@test:/etc# ls -l | grep ^l
lrwxrwxrwx 1 root root 33 Dec 25 16:13 localtime -> /usr/share/zoneinfo/Asia/Shanghai
lrwxrwxrwx 1 root root 19 Dec 26 00:11 mtab -> ../proc/self/mounts
lrwxrwxrwx 1 root root 21 Jan 30 20:28 os-release -> ../usr/lib/os-release
lrwxrwxrwx 1 root root 29 Dec 25 16:13 resolv.conf -> ../run/resolvconf/resolv.conf
lrwxrwxrwx 1 root root 23 Dec 25 16:08 vtrgb -> /etc/alternatives/vtrgb
上面的例子中,我们运行了 ls -l
命令,显示了几种不同类型的文件:
- lrwxrwxrwx: 这种以l开头的就是软连接文件
- drwxr-xr-x:这种以d开头的就是目录
- -rw-r--r--:这种以-开头的就是文件
软连接的创建方法
了解了什么是软连接之后,我们就可以自己动手进行软连接的相关操作:
cd /root
ln -s /usr/share/zoneinfo/Asia/Shanghai2 mysoftlink
file mysoftlink
软连接的删除方法
rm -rf mysoftlink
注意:
- 被连接的文件名(路径)建议采用绝对路径
- 错误的软连接(又名断开)使用
ls -l
的时候显示的是红色 - 软连接是一个文件,其在硬盘中是存在数据块的
- 软连接文件的数据库中存储的是路径信息,而非真正的数据
- 软连接可能是多级嵌套的,例如:B连接A,C连接B,D连接C
硬连接
硬连接相对于软连接来说,理解会困难一点点。硬连接是把不同的文件名对应到同一个存储块节点上。
例如:在服务器硬盘中有一个数据块存在的是一段小视频,这个小视频的文件名称为:/data/mymedia.mp4。
创建一个硬连接,只需使用ln
命令即可
cd /data
ln /data/mymedia.mp4 mymedia2.mp4
注意事项:
- 被连接的文件名(路径)建议采用绝对路径
- 如果一个文件增加了对应的硬连接,那么删除文件的时候不会删除数据
- 硬连接文件存储的是真实数据块位置
- 只能对文件建立硬连接,而不能对一个目录建立硬连接
硬链接与域名管理中的同一个网站,用A记录配置上两个域名是同类原理。
软连接与域名管理中的cname解析是同类原理。
本文由Websoft9原创发布,转载请注明出处。
网友评论