Linux学习笔记(五)

Linux常用命令——链接命令

前面介绍过一个词:软链接
在这里插入图片描述
原文件:想生成链接文件的文件
目标文件:新生成的链接文件的名称

软链接:ln -s
硬链接:ln 加文件名
在这里插入图片描述
上图原文件:/etc/issue
目标文件:把它放到/tmp目录下,起个名字:issue.soft
硬链接同理

在这里插入图片描述

对比软硬链接区别:

对比原文件与软链接文件的文件信息(ls -l):

在这里插入图片描述

  1. 权限首字母l表示文件类型,链接文件——link,不是d和-(目录和文件),硬链接并没有这样的文件标记
  2. 所有的人都有软链接文件的RWX操作权限
  3. 软链接文件类似win的快捷方式,好处是方便快捷找到常使用的一些东西,软链接属性只是一个符号指向的链接(因此大小很小,10个字节),这里的issue.sorf写了/tmp/issue/.soft ->、etc/issue这个原文件,所以软链接文件不同于原文件,因此权限很高,如下图:在这里插入图片描述

再观察硬链接文件有什么特征(ls -l /tmp/issue.hard)

在这里插入图片描述
发现除了文件位置不一样,其他和原文件都一样,很想cp -p复制哇?那这两个命令的区别是:cp -p可以同步更新原文件和复制的文件,实验验证如下:
使用echo将“www.lampbrother.net”这段话写到issue文件末尾后,再观察原文件就多了一行www.lampbrother,.net,同时硬链接文件也增加了一行相同的变化(软链接同理)。若删除原文件,软链接,硬链接和复制cp三者会出现:

  • 软链接:找不到文件
  • 硬链接: 硬链接文件依然可以访问,所以硬链接类似拷贝,并可以同步原文件更新,且原文件丢失,硬链接仍然可以访问,这是为什么呢?
    我们来看一下三个文件的i节点,步骤如下:
  1. 创建issue.bak文件的硬软链接:
In issue.bak issue.bak.hard
In issue.bak issue,.bak.sort

我们前面在将Is 命令的时候讲过一个选项:-i,它可以查看一个文件的i节点,我们通过观察i节点对应的项来判断A文件是不是B文件的硬链接。依次观察这三个文件的i节点

ls -i issue.bak.hard  issue.bak.sort

在这里插入图片描述
编号31416的 i节点同时映射向了原文件issue.bak和硬链接文件issue.bak.hard,但是软链接只有一个i节点31477,分析如下:

  • 每一个linux文件都会有一个i节点,包括:每一个进程有一个进程的标识号,每一个用户有一个用户的标识号,(都是一个数字的标识),用内核来进行调用和区分管理。但是这里有一个问题:一个文件有一个i节点,但是 一个i节点不一定只对应一个文件——硬链接就是一个特殊的案例,它的一个i节点映射到了多个文件,所以当用户把一个文件删除,另外一个文件依然会存在。对一个文件进行写操作,在内核的层面进行操作,它实际上针对的是i节点,因为本例中这个i节点同时映射到了两个文件,也因此会出现硬链接文件同步更新的情况(这个是cp 复制命令做不到的)。硬链接不仅可以同步更新,而且它和软链接还有很大不同。
  • 但是硬链接文件使用情况不常见,一般用于远程同步更新和实时备份的作用。
  • 另外硬链接不能跨分区,以win来讲,相当于C盘的文件不可以硬链接到D盘,现在放在/tmp/issue.bak的文件不能硬链接到/boot中,但是软链接可以。如下所示:
    在这里插入图片描述
  • 最后硬链接不能针对目录使用,但是目录可以直接生成软链接:
    在这里插入图片描述
    以上为硬链接的特征,总结如下:

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值