-----仅用作学习笔记
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.c和test2.c的inode号码都是1185638.因为inode号完全一样,所 以这两个文件的权限和属性也是一模一样的,也就是说test1和test2是完全一样的文件。
2代表了连接数,是指有多少个档名链接到了这个inode号。
4.使用硬连接的优缺点
优点:①方便,虽然类似于win的复制,但是通常并不占用实际空间,而且不管我们是修改test1.c或是修改test2.c,只要修改一个,我们的文件就会被同时修改,因为他们的inode号都是相同的。
②安全,防止误删除,我们删除test1.c或者是test2.c任意一个,我们还是可以通过剩下的连接来访问文件。除非都删掉。
缺点:只能在同一个文件系统才可以创建硬连接(因为不同文件系统的管理方式不同),并且目录之间不能创建硬连接(太复杂)。
5.什么是软连接
类似于win的快捷方式。
可以用ln命令来建立软连接。
格式:ln -s 源文件 目标文件(必须加上-s参数,不加参数的话生成的是硬连接,而且源文件要用绝对路径),-s为创建一个软连接。
举例:
可以发现test3.c和test1.c的inode号是不一样的,所以这两个文件是完全独立的,总之软连接就是创立了一个新文件,当访问这个连接文件的时候,系统就会发现它是一个连接文件,然后读取连接文件找到真正要访问的文件。因为类似于win的快捷方式,我们删除源文件test1.c,test3.c就不能打开了,如下图所示:
软连接虽然没有硬连接安全,但是限制少,所以使用范围还是很广泛的。
延伸内容:
ubuntu系统中各个文件的颜色含义:
蓝色:文件夹,ls -l或ll时可以看到权限部分的第一个字母时d
红色:压缩文件
绿色:可执行文件
白色:文本文件
红色闪烁:错误的符号链接
淡蓝色:符号链接
黄色:设备文件
灰色:其他文件