• Linux 磁盘与文件系统管理


    介绍一本书叫《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.原理如图:
     
                         
     
     
     
     

     

  • 相关阅读:
    Swift 对AFN框架的封装
    iOS开发中静态库制作 之.a静态库制作及使用篇
    iOS 地图定位及大头针的基本使用
    swt中改变树的字体及颜色的实现
    为什么很多程序员选择跳槽?
    用SWT做圆形控件
    JAVA简单编码规则
    swt中改变表格字体大小及颜色的实现
    使用JAVA的反射机制反射带有数组参数的私有方法
    我的GIT使用经历
  • 原文地址:https://www.cnblogs.com/fangshenghui/p/3458608.html
Copyright © 2020-2023  润新知