【linux之文件系统】
1、Linux磁盘分区和目录
每次安装系统的时候我们都会进行分区,Linux下磁盘分区和目录的关系如下:
1)任何一个分区都必须挂载到某个目录上。
2)目录是逻辑上的区分。分区是物理上的区分。
3)磁盘Linux分区都必须挂载到目录树中的某个具体的目录上才能进行读写操作。
4)根目录是所有Linux的文件和目录所在的地方,需要挂载上一个磁盘分区。
以下是我们可能存在的一种目录和分区关系:
2、文件类型
a) 普通文件:C语言元代码、SHELL脚本、二进制的可执行文件等。分为纯文本和二进制。
b) 目录文件:目录,存储文件的唯一地方。
c) 链接文件:指向同一个文件或目录的的文件。
d) 特殊文件:与系统外设相关的,通常在/dev下面。分为块设备和字符设备。
3、文件存储结构
1)目录项:包括文件名和inode节点号。
2)Inode:又称文件索引节点,是文件基本信息的存放地和数据块指针存放地。
3)数据块:文件的具体内容存放地。
Linux文件系统(如ext2、3等)将硬盘分区时会划分出1)目录块、2)inode Table区块、3)data block数据区域。一个文件由一个目录项、inode和数据区域块组成。Inode包含文件的属性(如读写属性、owner等,以及指向数据块的指针),数据区域块则是文件内容。当查看某个文件时,会先从inode table中查出文件属性及数据存放点,再从数据块中读取数据。