前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >软连接、硬连接,Linux易混词大区分

软连接、硬连接,Linux易混词大区分

原创
作者头像
w9
修改2021-08-18 10:38:37
4.7K0
修改2021-08-18 10:38:37
举报
文章被收录于专栏:用户8905886的专栏

在我们学习和实操的过程中,经常会遇到两个相对的词语:Linux中的软连接、硬连接。这两个词语容易混淆、不好区分,在我们的使用过程中会带来一些问题。今天,小九就带大家理一理这两个词~

软连接

软连接是指向另外一个文件的文件,类似Windows中的快捷方式文件。

软连接的查询方法

如何才能知道哪些文件是软连接文件呢?

我们先进入etc目录,然后列出文件(以re关键词作为结果筛选)

代码语言:javascript
复制
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--:这种以-开头的就是文件
软连接的创建方法

了解了什么是软连接之后,我们就可以自己动手进行软连接的相关操作:

代码语言:javascript
复制
cd /root
ln -s /usr/share/zoneinfo/Asia/Shanghai2 mysoftlink
file mysoftlink
软连接的删除方法
代码语言:javascript
复制
rm -rf mysoftlink

注意:

  1. 被连接的文件名(路径)建议采用绝对路径
  2. 错误的软连接(又名断开)使用 ls -l 的时候显示的是红色
  3. 软连接是一个文件,其在硬盘中是存在数据块的
  4. 软连接文件的数据库中存储的是路径信息,而非真正的数据
  5. 软连接可能是多级嵌套的,例如:B连接A,C连接B,D连接C

硬连接

硬连接相对于软连接来说,理解会困难一点点。硬连接是把不同的文件名对应到同一个存储块节点上。

例如:在服务器硬盘中有一个数据块存在的是一段小视频,这个小视频的文件名称为:/data/mymedia.mp4。

创建一个硬连接,只需使用ln命令即可

代码语言:javascript
复制
cd /data
ln /data/mymedia.mp4  mymedia2.mp4

注意事项:

  1. 被连接的文件名(路径)建议采用绝对路径
  2. 如果一个文件增加了对应的硬连接,那么删除文件的时候不会删除数据
  3. 硬连接文件存储的是真实数据块位置
  4. 只能对文件建立硬连接,而不能对一个目录建立硬连接

硬链接与域名管理中的同一个网站,用A记录配置上两个域名是同类原理。 软连接与域名管理中的cname解析是同类原理。

本文由Websoft9原创发布,转载请注明出处。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 软连接
    • 软连接的查询方法
      • 软连接的创建方法
        • 软连接的删除方法
        • 硬连接
        相关产品与服务
        云服务器
        云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档