配套视频学习链接:http://【【北京迅为】嵌入式学习之Linux入门篇】 https://www.bilibili.com/video/BV1M7411m7wT/?p=4&share_source=copy_web&vd_source=a0ef2c4953d33a9260910aaea45eaec8
目录
1.Linux 下的连接档种类
2.什么是 inode?
3.什么是硬连接
4.使用硬连接的优缺点是什么?
优点:
缺点:
5.什么是软连接
延申内容:
1.Linux 下的连接档种类
一个是类似于 win 电脑的快捷方式,我们称为软连接,一种是通过文件系统的 inode 连
接来产生的,类似于 win 电脑的复制,但是不产生新的文件,我们称为硬连接。
2.什么是 inode?
inode 是用来存放文件信息的,每个文件都会占用一个 inode,并且这个 inode 号是唯
一的,文件的内容都是 inode 来指定的,而不是文件名,当系统要访问文件时,inode 就会
被复制到内存,从而实现文件的快速访问(类似 指针),使用 ls -i 命令则可以看到 inode 号 -i 参
数为打印文件的 inode 号
3.什么是硬连接
硬连接只是一个新的链接到某个 inode 号码的记录而已。这个链接指向 inode,系统并
不给他重新分配 inode。
可以用 ln 命令来建立硬连接。
格式:ln 源文件 目标文件
常用参数 -f 无论目标文件是否存在都要创建连接。
举例:
在例子中我们可以发现 test1 和 test2 他们的 inode 号码都是 273224。因为
inode 号一样,所有这个俩个文件的权限和属性也是一模一样的,也是 test1 和 test2 是
俩个完全一样的文件。
连接数也由 1 变成了 2,这个代表的是有多少个档名链接到了这个 inode 号。
我们在创建一个硬连接。使用 ln test1 tset3 命令后,则会发现我们这个连接数从
2 变成了 3
4.使用硬连接的优缺点是什么?
优点:
第一个方便,虽然类似于 win 的复制,但是通常并不占用实际空间。而且不管我们是修
改 test1 或者是修改 test2 还是 test3,只要修改一个,我们的文件就会被同时修改,因
为他们的 inode 号都是相同的。
举例:
我们修改 test3 的内容为如下图所示:
test1 和 test2 的内容也被修改成了 nihao,如下图所示:
第二是安全,防止误删除,我们删除 test1 或者是 test2 或 test3 任意一个,我们还
是可以通过剩下的连接来访问文件。除非都删掉。
举例:
我们删掉 test1。但是 test2 或 test3 还是可以访问到“nihao”这个内容。
缺点:
只能在同一个文件系统才可以创建硬连接(因为不同的文件系统管理方式不同),并且目
录之间不能创建硬连接。(太复杂,现在还不支持)
5.什么是软连接
这个就比较好理解了,类似 win 上的快捷方式。
可以用 ln 命令来建立软连接。
格式:ln -s 源文件 目标文件 (必须加上-s 参数,使用 ln 如果不加任何参数的话,那
么就是 Hard Link,而且源文件要用绝对路径)-s 为创建一个软连接
举例:
上图中我们可以发现 test1 和 test3的 inode 号是不一样的,所以这个俩个文件是完
全独立的,总之软连接就是创立了一个新的文件,当访问这个连接文件的时候,系统就会发现
他是一个连接文件,然后读取连接文件找到真正要访问的文件。
因为类似于 win 的快捷方式,我们删掉源文件 test2.c ,test1 就不能打开了,如下图所示:
红色背景代表无效。
软连接虽然没有硬链接安全,但是限制少,所以使用范围还是很广泛的
延申内容:
ubuntu 系统中各个文件的颜色含义:
蓝 色:文件夹 ,ls -l 或 ll 时可以看到权限部分的第 1 个字母是 d
红色:压缩文件
绿色:可执行文件
白色:文本文件
红色闪烁:错误的符号链接
淡蓝色:符号链接
黄色:设备文件
灰色:其它文件