• 文件系统的类型和结构


    笔记
    
    【1】Linux文件系统的类型
        (1)在任何一个操作系统中,文件系统无疑是其最重要的组件,用于组织和管理计算机存储设备上的大量文件,
             并提供用户交互接口。Linux同样具备完善的文件系统。用户既可以使用界面友好的Nautilus图形文件管理器,
         也可以使用功能强大的shell文件系统管理工具。
        (2)linux是一种兼容性很高的操作系统,支持的文件系统格式很多,大体可分以下几类:
         1)磁盘文件系统:指本地主机中实际可以访问到的文件系统,包括硬盘、CD-ROM、DVD、USB存储器、磁盘阵列等。
           常见文件系统格式有:autofs、coda、Ext(Extended File sytem,扩展文件系统)、Ext3、Ext4、VFAT、ISO9660(通常是CD-ROM)、
           UFS(Unix File System,Unix文件系统)、FAT、FAT16、FAT32、NTFS等;
             2)网络文件系统:是可以远程访问的文件系统,这种文件系统在服务器端仍是本地的磁盘文件系统,客户机通过网络远程访问数据。
           常见文件系统格式有:NFS、Samba等;
             3)专有/虚拟文件系统:不驻留在磁盘上的文件系统。常见格式有:TMPFS(临时文件系统)、PROCFS(Process File System,进程文件系统)
           和LOOPBACKFS(Loopback File System,回送文件系统)。
         (3) 目前Ext4是Linux系统广泛使用的一种文件格式。在Ext3基础上,对有效性保护、数据完整性、数据访问速度、向下兼容性等方面做了改进。
         最大特点是日志文件系统:可将整个磁盘的写入动作完整地记录在磁盘的某个区域上,以便在必要时回溯追踪。
         (4) SCSI与IDE设备命名
            1)sata硬盘的设备名称是“/dev/sda”
                /dev/sda1 含义?
                /dev/sdb3 含义?
            2)IDE硬盘的设备名称是“/dev/hda” 
                /dev/hdc2 含义?
            3)如果很在意系统的高性能和稳定性,应该使用SCSI硬盘
            4)cat /proc/partitions
         (5) Linux分区的命名方式 
            1)字母和数字相结合
            2)前两个字母表示设备类型
                “hd”代表IDE硬盘
                “sd”表示SCSI或SATA硬盘 
            3)第三个字母说明具体的设备
                “/dev/hda”表示第一个IDE硬盘
                “/dev/hdb”表示第二个IDE硬盘 
         (6) 交换分区
         1)将内存中的内容写入硬盘或从硬盘中读出,称为内存交换(swapping)
          2)交换分区最小必须等于计算机的内存 
         3)可以创建多于一个的交换分区 
          4)尽量把交换分区放在硬盘驱动器的起始位置 
         (7) 文件系统逻辑结构
         1)  某所大学的学生可能在一两万人左右,通常将学生分配在以学院-系-班为单位的分层组织机构中。若需要查找一名学生时,
           最笨的办法是依次问询大学中的每一个学生,直到找到为止。如果按照从学院、到系、再到班的层次查询下去,必然可以找到该学生,且查询效率高。
           这种树形的分层结构就提供了一种自顶向下的查询方法。
          2) 如果把学生看作文件,院-系-班的组织结构看作是Linux文件目录结构,那么就同样可以有效地管理数量庞大的文件。
         3) 一直使用微软Windows操作系统的用户似乎已经习惯了将硬盘上的几个分区,并用A:、B:、C:、D:等符号标识。
            存取文件时一定要清楚存放在哪个磁盘的哪个目录下。
         4) Linux的文件组织模式犹如一颗倒置的树,这与Windows文件系统有很大差别。所有存储设备作为这颗树的一个子目录。
            存取文件时只需确定目录就可以了,无需考虑物理存储位置。
    
    
    【2】Linux文件系统的结构
         (1) 分区与目录的关系:
            在Windows下,目录结构属于分区;在Linux下,分区属于目录结构。
         (2) 如何知道文件存储的具体硬件位置呢?
         1)  在Linux中,将所有硬件都视为文件来处理,包括硬盘分区、CD-ROM、软驱以及其他USB移动设备等。
           为了能够按照统一的方式和方法访问文件资源,Linux中提供了对每种硬件设备相应的设备文件。
           一旦Linux系统可以访问到硬件,就将其上的文件系统挂载到目录树中的一个子目录中。
          2)  例如,用户插入USB移动存储器,Ubuntu Linux自动识别后,将其挂载到“/media/disk”目录下。
           而不象Windows系统将USB存储器作为新驱动器,表示为“F:”盘。
         (3)   Linux文件系统就是一个树形的分层组织结构。将根(/)作为整个文件系统的惟一起点,其他所有目录都从该点出发。
         将Linux的全部文件按照一定的用途归类,合理地挂载到这颗“大树”的“树枝”或“树叶”上,如图所示。
         而这些全不用考虑文件的实际存储位置,无论是存在硬盘上,还是在CD-ROM或USB存储器中,甚至是网络终端。
         (4) 基本目录 
         1) 由于Linux是完全开源的软件,各Linux发行机构都可以按照自己的需求对文件系统进行裁剪,所以如此众多的Linux发行版本的目录结构也不尽相同。
         为了规范文件目录命名和存放标准,颁发了文件层次结构标准(FHS,File Hierarchy Standard),2004年发行版本FHS 2.3。Ubuntu Linux系统同样也遵循这个标准。 
          2)  绝对路径和相对路径
            a. 在认识到Linux文件系统是树形分层的组织结构,且只有一个根节点之后。在Linux文件系统中查找一个文件,只要确定文件名和路径,就可以惟一确定这个文件。
                例如        “/usr/games/gnect”
            b. 绝对路径:指文件在文件系统中的准确位置。通常在本地主机上,以根目录为起点。例如“/usr/games/gnect”就是绝对路径。
            c. 相对路径:指相对于用户当前位置的一个文件或目录的位置。例如,用户处在usr目录中时,只需要“games/gnect”就可确定这个文件。
         (5) Linux文件系统与Windows文件系统比较 
    
    
    
    
    【3】总结与思考

  • 相关阅读:
    孩子们的游戏(圆圈中最后剩下的数)
    求1+2+3+...+n
    扑克牌顺子
    Java 好文整理
    翻转单词顺序列
    左旋转字符串
    和为S的两个数字
    和为S的连续正数序列
    平衡二叉树
    java 构造函数
  • 原文地址:https://www.cnblogs.com/jack-hzm/p/10262270.html
Copyright © 2020-2023  润新知