Linux里面的软连接和硬链接介绍,操作系统的四大块

本文主要介绍了Linux系统中软连接和硬链接的制作方法,软连接和硬链接的的原理,总结了软连接和硬链接的性质,作者是小白,本文适用于初学者观看,高手勿喷。
## 系统的四大块(基础) ##
首先,创建两个目录两个文件。
mkdir /a
mkdir /b
touch /a/source.txt
你要知道在Linux操作系统中,一个文件是如何保存的。在Linux操作系统中,一切皆文件。操作系统分为下图四大块:![操作系统的四大块](https://img-blog.csdn.net/2018082219493084?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3RhbmdjdXpob3V6aQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)
接下来让我们介绍这四大块
1.super block :用来掌管全局,相当于一家之长,用来控制:这个硬盘上还有多少inode编号可以分配,哪些inode编号可以分配,哪些inode编号是活跃状态,哪些inode编号可以被人使用
2.inode block:用来存放文件的inode编号和权限信息,这里介绍一下inode编号的概念,inode编号相当于文件的身份证,是唯一的;权限信息包括:权限、属主、属组、创建时间、文件名、指针。其中,指针是用来寻址的,是路径。查看一个文件的权限指令如下:
 ls -i /a/source.txt   
3.diretory block:目录块,存放文件夹里面的文件名和文件名所对应的inode编号,是一一对应且互相映射的关系。
4.block数据块:是用来存放文件内容的。
在Linux系统中输入指令,查看一个文件:
cat /a/source.txt
指令是这样,但是在操作系统中是如何实现的呢?
查看一个文件,操作系统做了如下的事情:
(1)首先,根据根的目录名,对应到文件号上面,找到根的inode编号-------inode block
(2)找到编号以后,根的元数据信息就出来了,开始读取权限信息,走到指针这一步-------inode block
(3)指针指到目录块上面,看是否有source.txt这个文件名,有,获取source.txt对应的inode号--------diretory block
(4)根据source.txt对应的inode号,去inode block 块检验权限,读取权限信息,走到指针这一步-------inode block
(5)有了对应的指针,指针指向这个文件内容的block块,具体的block块有对应source.txt的详细信息
## 软连接和硬链接 ##
首先,建立软连接的命令如下:
ln -s /a/source.txt /b/des.txt
其中,/a/source.txt是源文件 ,/b/des.txt是连接文件。
查看/b/des.txt的权限信息
ll /b/des.txt
查看两个文件的inode信息,发现软链接之后的两个文件的inode编号是不同的。
软连接,相当于windows里面的快捷方式。修改源文件,连接文件也会改变;修改连接文件,源文件也会改变。删除连接文件,对源文件无影响;若删除源文件,连接文件也gg了。
其次,介绍硬链接,建立硬链接的命令如下:
ln /a/a.txt /b/b.txt
查看两个文件的inode信息,发现硬链接之后的两个文件的inode编号是相同的。修改源文件,目标文件也跟着改变;修改目标文件,源文件不变。删除源文件,目标文件有效;删除目标文件,源文件有效。
## 软连接和硬链接解析 ##
到底是什么决定了这两个连接的这些特征呢?
![硬链接和软连接的区别](https://img-blog.csdn.net/20180822203424357?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3RhbmdjdXpob3V6aQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)
通过上图我们可以得知,软连接指向的是文件,所以,软连接像建立快捷方式一样;硬链接指向的是inode号,所以,两个文件的inode号要相同,指向相同的inode号。这就是硬链接不可以跨分区的原因,因为两个分区相同的两个inode号,指向的是不同的block块数据。软连接可以跨分区,是因为软连接直接指向文件,是否在一个分区里面无影响。
最后总结一下两个连接的特点
软连接:(1)相当于快捷方式
       (2)删除连接文件,源文件无影响
       (3)删除源文件,连接文件失效
       (4)修改源/目标文件,两个都变
       (5)软文件是指向文件名的
       (6)软连接可以跨分区
硬连接:(1)删除连接文件,源文件无影响
       (2)删除源文件,连接文件无影响
       (3)修改源/目标文件,两个都变
       (4)硬链接指向inode号
       (5)硬链接不可以跨分区
这个自己当初学了好久,希望对新手有所帮助,谢谢!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值