硬链接与软链接
本文主要介绍了Linux中的inode,硬链接,软链接。
1.文件存储
? 文件储存在硬盘上,硬盘的最小存储单位叫做"扇区"(Sector)。每个扇区储存512字节(相当于0.5KB)。操作系统读取硬盘的时候,不会一个个扇区地读取,这样效率太低,而是一次性连续读取多个扇区,即一次性读取一个"块"(block)。这种由多个扇区组成的"块",是文件存取的最小位。"块"的大小,最常见的是4KB,即连续八个 sector组成一个block。
2.inode
? inode(索引节点)用来指示一个文件的元信息,包括如下内容:
- 文件的字节数
- UID
- GID
- RWX权限
- 时间戳:Access(文件上一次打开的时间),Modify(文件上一次修改的时间),Change(inode上一次变动的时间)
- 链接数:有多少个文件名指向这个inode
- 文件数据的block位置
? 分区在创建和格式化的时候,会被分为两个区域。一个是数据区,用于存放文件数据;另一个是inode区(inode table),用于存放inode所包含的信息。每个inode节点的大小,一般是128字节或256字节。inode节点的总数,在格式化时就给定,一般是每1KB或每2KB就设置一个inode。
? 与inode相关的命令:
ls -i [filename]
stat [filename]
df -i
3.硬链接
? 一般来说,一个inode号对应一个文件名。Linux中允许一个inode号对应多个文件名,也就是多个文件名对应于同样的内同,修改一个文件,也会同样修改另一个文件,这就是硬链接。Linux使用ln命令来创建硬链接,如下:
ln [source file] [target file]
? 硬链接不能跨分区进行使用,并且不能针对目录进行使用。
4.软链接
? 软链接(也叫符号链接)与硬链接不同,文件用户数据块中存放的内容是另一文件的路径名的指向。软链接就是一个普通文件,只是数据块内容有点特殊。软链接可对文件或目录创建。软连接通过ln -s命令来创建。
ln -s [source] [target]
? 软连接的作用:
- 把一个复杂路径下的文件链接到一个简单路径下方便用户访问
- 解决文件系统磁盘空间不足的情况。例如某个文件文件系统空间已经用完了,但是现在必须在该文件系统下创建一个新的目录并存储大量的文件,那么可以把另一个剩余空间较多的文件系统中的目录链接到该文件系统中,这样就可以很好的解决空间不足问题。
|