linux系统硬链接和软连接:
1文件都由文件名和数据组成,在linux中文件被分为两个部分:用户数据和元数据。
用户数据:即文件数据块,记录真实数据的地方。
元数据:文件的附加属性,记录文件的大小,名称,创建时间,inode号,所有者等信息。
2在linux中,元数据中的inode号才是文件的唯一标识符,而文件名只是为了方便记忆。
用户访问文件的过程:用户通过文件名找到inode号,最终通过inode号访问数据。
文件和目录都有inode号,inode仅在各文件系统中(也可以理解为各分区中)是唯一的
查看inode号:stat
1 stat file/directory
2 ls -li file/directory
硬链接
创建:ln oldfile newfile
特点:
1 文件都有相同的inode号和数据块,相当于拷贝了一份新的数据。newfile是oldfile一份拷贝
2(重点) 由于inode号仅在各文件系统中(也可以理解为各分区中)是唯一的
所以硬链接不能交叉文件系统创建,就是不能夸分区创建,比如在/dev/sda1里面的一个文件不能在/dev/sda2里面创建硬链接
3 不能对目录创建,只能对文件创建。
4 创建硬链接时链接计数器会增加
5 删除一个硬链接并不影响其它具有相同inode号的文件
软连接
创建:ln -s oldfile newfile
特点:
1 软连接有着自己的文件属性,inode号及权限等。
2 可对不存在的文件或目录创建
3 可对文件和目录创建
4 创建软连接时,链接计数器i_nlink不会增加
5 删除原文件会影响软连接