Linux运维 :ln命令 链接


ln命令

ln命令的基本信息

  • 命令名称:ln
  • 英文原意:make links between file
  • 所在路径:/bin/ln
  • 执行权限:所有用户
  • 功能描述:在文件之间建立链接

提示:以下是本篇文章正文内容,下面案例可供参考

一、ln命令的基本格式

[root@localhost ~]# ln [选项] 源文件 目标文件 
选项:
		-s:建立软链接文件。如果不加“-s”选项,则建立硬链接文件
		-f:强制。如果目标文件已存在,则删除目标文件后再建立链接文件

二、使用步骤

1.硬链接

[root@localhost ~]# touch test1
[root@localhost ~]# ln /root/test1 /tmp/
#建立硬链接文件,目标文件没有写文件名,会和原名一致
#也就是/root/test1和/tmp/test1是硬链接文件

2.软链接

[root@localhost ~]# touch test2
[root@localhost ~]# ln -s /root/test2 /tmp/
#建立软链接文件

3.软链接和硬链接的特征

硬链接特征:

  • 源文件和硬链接文件有相同的Inode和Block
  • 修改任意一个文件,另一个都改变
  • 删除任意一个文件,另一个都能使用
  • 硬链接标记不清,很难确认硬链接文件位置,不建议使用
  • 硬链接不能链接目录
  • 硬链接不能跨分区

软连接特征:

  • 源文件和软链接文件有不同的Inode和Block
  • 两个文件任意修改一个,另一个都改变
  • 删除软链接文件,源文件不受影响。删除源文件,软链接文件不能使用
  • 软链接文件没有实际数据,只保留源文件的Inode,不论源文件多大,软链接文件大小不变
  • 软链接的权限是最大权限lrwxrwxrwx,但没有实际数据,最终访问时需要参考源文件权限
  • 软链接可以链接目录
  • 软链接可以跨分区
  • 软链接特征明显,建议使用软链接

三、原理

1.Linux中文件如何找到?

Linux下每个分区都可以理解为分成了2部分。小部分用来放I节点(Inode),大部分用来放Block块。
在这里插入图片描述
下边以根分区/和根分区下的root目录下的abc文件(/root/abc)举例,方便理解

在这里插入图片描述
找到文件/root/abc的过程:
1.根据根目录 /的I节点号2(固定),找到根目录的I节点
2.通过根目录的I节点当中的保存位置找到根目录的Block,从根目录/的Block中的root文件名找到/root目录的I节点号
3.根据I节点号找到/root的I节点,通过保存位置找到/root目录的Block,从/root目录的Block块中找abc的文件名和I节点号
4.通过abc的I节点号找到abc的I节点,根据abc的I节点中的保存位置找到abc的Block块,读取abc文件的Block块实际保存的数据。

2.硬链接原理

以源文件/root/abc和硬链接文件/tmp/abc_h为例
在这里插入图片描述

3.软链接原理

软链接完全可以理解成Windows中的快捷方式,以源文件/root/bcd和软链接文件/tmp/bcd_s为例
在这里插入图片描述

总结

本文仅仅简单介绍了ln命令的使用和软硬链接的原理。
1.软链接必须写绝对路径。
2.建议使用软链接。
3.Linux中创建软链接的原因大多是为了符合管理员的习惯。旧版本的一些文件在系统更新后改了位置,这时候软链接即照顾了升级需要,又照顾了管理员的使用习惯。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值