zoukankan      html  css  js  c++  java
  • Linux 文件的详解[分类/扩展名/inode/block]

    关于Linux文件的介绍


        Linux里文件扩展名和文件类型没有关系,Linux系统中一切皆文件

    关于Linux文件分类


        纯文本文件(可以cat的)
        二进制文件(Linux的可执行文件等,如/bin/cp)
        数据格式文件:有程序运行过程中读取某些特定格式的文件,通过last读取(cat报乱码错误)
           wholog ==>who /var/log/wtmp
        套接口文件:socket进程之间通信用  进程数据库的通信文件
        管道文件:(不重要)
       
        附:文件类型【man find 搜索type可看 】
        image
       

    Linux文件的扩展名


            源码.tar.gz
            .sh: shell脚本文件  shell语言开发
            .pl: perl语言文件  用perl语言开发
            .py:使用python语言开发
            .html:网页文件
            .conf: 服务的配置文件
            .lock: 锁文件
            .rpm:  rpm安装包

    关于文件Inode的介绍


        Inode实际上是一个64字节的磁盘地址表。操作系统读取硬盘的时候,不会一个个扇区地读取,这样效率太低,而是一次性连续读取多个扇区,即一次性读取一个"块"(block),然后将散列在磁盘的文件组成一个逻辑文件。
            这种由多个扇区组成的"块",是文件存取的最小单位。
            "块"的大小,最常见的是4KB,即连续八个扇区sector组成一个块block。
            操作系统读取的时候,根据磁盘地址表的顺序,一次读取块中的内容,
            stat:命令,查看某个文件的inode信息:
        1、唯一表示,内核根据此区别文件是否同一文件。Linux读取文件首先读取这个索引点。
        2、每个Linux存储设备(U盘,硬盘==> 整本书)或者存储设备的分区被格式化后使用
        3、inode的大小在文件系统被格式化后就无法更改,格式化前可以指定inode的大小
            查看分区信息-->inode大小:
                dumpe2fs /dev/sda1 | grep -i "inode size"
               

    关于文件在Linux系统的存储

        Linux文件由2部分组成【inode + block】

           第一部分是Inode(首页目录索引)
                存放数据属性[ls -l的显示结果]以及实体文件的指向;
                且文件的属性不包括文件名   

          第二部分是Block(书的每一页)
                存储数据    (上级目录存储下一级目录的文件名)
                读取文件流程:
                    1.cat file  -> 2.indoe权限校验 -->3.权限通过,访问实体的文件内容(可能有多个block)

    总结:
    inode小结:
        1.磁盘分区后生成一定数量的inode和block
        2.inode是索引节点,存放文件的属性信息以及真实的索引
        3.ext4文件系统 blocK存放真实数据
        4.inode是一块存储空间,C6是256字节
        5.inode是一串数字,且在文件中有唯一标示,内核根据此查询是否是同一文件


    block总结:
        1.磁盘读取数据都是按照block为单位读取的
        2.一个文件可能占用多个block,每读取一次都会消耗一次IO
        3.如果要提升磁盘IO的性能,就尽可能的一次性读取尽量多的数据
        4.一个block只能存放一个文件的内容,无论内容多小。
            如果block(非系统磁盘 4k) ,。那么存放1k的文件就会浪费3k
        5.block并非越大越好。block太大对于小的文件会浪费磁盘空间。
            例如,1000k的文件,block=4k,占用250个block,消耗IO为250次
                  block=1k,占用1000个block,消耗IO为1000次
        6.block的设置是在格式化分区的时候
            mkfs.ext4 -b 2048 -I 256 /dev/sdb
            ext4文件一般设置4K

  • 相关阅读:
    sabaki and leelazero
    apply current folder view to all folders
    string operation in powershell
    wirte function in powershell
    add environment path to powershell
    Module in powershell
    sql prompt
    vmware中鼠标在部分区域不能使用
    调整多个控件的dock的顺序
    行为型模型 策略模式
  • 原文地址:https://www.cnblogs.com/ftl1012/p/9246805.html
Copyright © 2011-2022 走看看