介绍一本书叫《Linux 鸟哥私房菜》, 一本教人用linux很经典的一本书,这两天又看了里面的一章节,做一点笔记。有一些很细节的东西的, 在平时运用过很容易被忽略。
1)U盘使用的文件格式一般是FAT格式,这种格式的读写的方式,是读定完一个black后才知道下一个black的位置。所以当各个black很分散,要做磁盘碎片整理。
2)Ext2是索引式文件系统,基本不太需要进行碎片整理。
3)Ext2一个block的大小是一般4K
4)block的大小与数量在格式化完就不能够再改变了,除了重新格式化。
5)每个black内最多只能够旋转一个文件的数据。
6)如果文件大于black的大小,则一个文件会占用多个black数据。
7)若文件大小小于black,则该block剩余的空间就不能够再被使用了。
8)日志文件系统
为了避免系统突然中断而导致文件数据不一致的情况发生,linux在 filesystem当中规划出一个区块,该区块专门在记录写入或修订档案时的步骤.如下:
1. 预备:当系统要写入一个档案时,会先在日志记录区块中纪录某个档案准备要写入的资讯;
2. 实际写入:开始写入档案的权限与资料;开始更新metadata的资料;
3. 结束:完成资料与metadata的更新后,在日志记录区块当中完成该档案的纪录
在这样的程序当中,万一资料的纪录过程当中发生了问题,那么我们的系统只要去检查日志记录区块,就 可以知道那个档案发生了问题,针对该问题来做一致性的检查即可,而不必针对整块filesystem去检查, 这样就可以达到快速修复filesystem的能力了!这就是日志式文件最基础的功能。
9)Ext3是Ext2的升级版 具有 可利用性,数据完整性, 速度及转换的特点。
10)目录
1.当文件系统新建一个目录时,ext2会分配一个inode和至少一块block给这个目录。可以用 ls -i查看inode号码
2.在一个目录下面如果文件过多,会导致一个block无法容纳,Linux会多给该目录block。
11) 文件
1.当文件系统新建一个文件时,ext2会分配一个Inode和相对该文件大小 的block数据给该文件。
2.inode仅12个直接指向,其他是间接指向 双间接指向,三间接指向
12)挂载点(mount point)
1.将文件系统与目录结合的操作 称为挂载
2.挂载点一定是目录,该目录为进入该文件系统的入口
3.文件系统最顶层的目录的inode一般为2号
4.单一文件系统不应该被重复挂载在不同的挂载点(目录)中
5.单一目录不应该重复挂载多个文件系统
6.作为挂载点的目录理论上应该都是空目录,如果有文件会被清空
13)常见支持的文件系统
1.传统文件系统:ext2/minix/MS-DOS/FAT(用vfs模块)/iso9660(光盘)等
2.日志文件系统:ext3/ReiserFS/Windows'NTFS/IBM'sJFS/SGI'sXFS
3.网路档案系统:NFS/SMBFS
4.想知道Lininx支持文件有哪些,查看方法:ls -l /lib/modules/$(uname -r) /kernel/fs
5.系统目前已加载到内存中支持的文件系统则有:cat /proc/filesystems
14)Linux VFS
1.VFS 就是虚拟文件系统 (Virtual Filesysterm Switch)
2. Linux 通过VFS管理所有它认识的文件系统
3. 如图
15)硬连接
由文件系统,我们可以得知:
1.每个文件都会占用一个inode,文件内容由inode的记录来指向;
2.想要读出文件,必须要经过目录记录的文件来指向正确的inode号码来读取。
所谓的硬连接就是多个文件名对同一个inode。
如图:
要注意两点:
1.不能跨文件系统
2.不能连接目录
16) 符号连接
1. 符号连接, 也称软连接,英文是 symbolic link
2.符号连接在创建一个独立文件,而这个文件会让数据的读取指向它连接的那个文件的文件名。当源文件被删除时,符号连接会打不开。
3.符号连接文件和源文件指向不同的inode。1的文件名指向了2的inode.由2的inode指向文件内容。
4.原理如图:
来源:https://www.cnblogs.com/fangshenghui/p/3458608.html