基本文件类型
普通文件:文件中包含信息是用户、系统或应用程序输入生成,在文件系统中不加任何内部修饰,把它们看做纯粹的字节流。
目录:包含文件名列表和指向与之相关联的的索引节点的指针。目录文件时特殊写保护权限的普通文件,只有文件系统才能进行写操作。
特殊文件:不含数据内容,提供一个映射物理设备到文件名的机制。
管道:管道是进程通信的基础设备。
链接文件:链接已经存在的文件的一个可选择的文件名。
符号链接文件:数据文件,数据包含了所链接的文件的文件名。
索引节点
Linux支持多文件系统,把所有文件系统都映射到统一的下层系统,操作系统通过支持文件系统和给文件分配磁盘空间,所有Linux和UNIX都是通过索引节点来管理。每个索引节点保存了文件系统中的一个文件系统对象的元信息数据,但不包括数据内容或者文件名。
block为4k大小的文件系统
级别 | 块数 | 可以索引的文件区域大小 |
直接 | 12 | 48k |
1级 | 512 | 2m |
2级 | 512*512=256K | 1G |
3级 | 512*256K=128M | 512G |
查看磁盘inode和block信息
[root@localhost yemo]
# dumpe2fs /dev/sda1 |grep "Block count"
dumpe2fs 1.41.12 (17-May-2010)
Block count: 512000
[root@localhost yemo]
# dumpe2fs /dev/sda1 |grep "Inode count"
dumpe2fs 1.41.12 (17-May-2010)
Inode count: 128016
目录项
目录只是将文件的名称和它的索引节点号结合在一起的一张表,目录中每一对文件名称和索引节点号称为一个连接。目录中的..父目录索引节点的指针,以及子目录索引节点的指针。对于一个文件来说有唯一的索引节点号与之对应,对于一个索引节点号,却可以有多个文件名与之对应。因此,在磁盘上的同一个文件可以通过不同的路径去访问它。
符号链接和硬链接
软硬链接的区别:
1)默认不带参数情况下,ln命令创建的是硬链接。
2)硬链接文件与源文件的inode节点号相同,而软链接文件的inode节点号与源文件不同。3)ln命令不能对目录创建硬链接,但可以创建软链接,对目录的软链接会经常被用到。
4)删除软链接文件,对源文件及硬链接文件无任何影响;
5)删除文件的硬链接文件,对源文件及软链接文件无任何影响;
6)删除链接文件的原文件,对硬链接文件无影响,会导致其软链接失效(红底白字闪烁状);
7)同时删除原文件及其硬链接文件,整个文件才会被真正的删除。
8)很多硬件设备中的快照功能,使用的就类似硬链接的原理。
9)软连接可以跨文件系统,硬链接不可以跨文件系统。
本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-07/145373.htm