Linux 文件的詳解[分類/擴展名/inode/block]

關於Linux文件的介紹


    Linux裏文件擴展名和文件類型沒有關係,Linux系統中一切皆文件html

關於Linux文件分類


    純文本文件(能夠cat的)
    二進制文件(Linux的可執行文件等,如/bin/cp)
    數據格式文件:有程序運行過程當中讀取某些特定格式的文件,經過last讀取(cat報亂碼錯誤)
       wholog ==>who /var/log/wtmp
    套接口文件:socket進程之間通訊用  進程數據庫的通訊文件
    管道文件:(不重要)
   
    附:文件類型【man find 搜索type可看 】
    image
    node

Linux文件的擴展名


        源碼.tar.gz
        .sh: shell腳本文件  shell語言開發
        .pl: perl語言文件  用perl語言開發
        .py:使用python語言開發
        .html:網頁文件
        .conf: 服務的配置文件
        .lock: 鎖文件
        .rpm:  rpm安裝包python

 

關於文件Inode的介紹


    Inode其實是一個64字節的磁盤地址表。操做系統讀取硬盤的時候,不會一個個扇區地讀取,這樣效率過低,而是一次性連續讀取多個扇區,即一次性讀取一個"塊"(block),而後將散列在磁盤的文件組成一個邏輯文件。
        這種由多個扇區組成的"塊",是文件存取的最小單位。
        "塊"的大小,最多見的是4KB,即連續八個扇區sector組成一個塊block。
        操做系統讀取的時候,根據磁盤地址表的順序,一次讀取塊中的內容,
        stat:命令,查看某個文件的inode信息:
    一、惟一表示,內核根據此區別文件是否同一文件。Linux讀取文件首先讀取這個索引點。
    二、每一個Linux存儲設備(U盤,硬盤==> 整本書)或者存儲設備的分區被格式化後使用
    三、inode的大小在文件系統被格式化後就沒法更改,格式化前能夠指定inode的大小
        查看分區信息-->inode大小:
            dumpe2fs /dev/sda1 | grep -i "inode size"
            shell

關於文件在Linux系統的存儲

    Linux文件由2部分組成【inode + block】數據庫

       第一部分是Inode(首頁目錄索引)
            存放數據屬性[ls -l的顯示結果]以及實體文件的指向;
            且文件的屬性不包括文件名   
socket

      第二部分是Block(書的每一頁)
            存儲數據    (上級目錄存儲下一級目錄的文件名)
            讀取文件流程:
                1.cat file  -> 2.indoe權限校驗 -->3.權限經過,訪問實體的文件內容(可能有多個block)性能

總結:
inode小結:
    1.磁盤分區後生成必定數量的inode和block
    2.inode是索引節點,存放文件的屬性信息以及真實的索引
    3.ext4文件系統 blocK存放真實數據
    4.inode是一塊存儲空間,C6是256字節
    5.inode是一串數字,且在文件中有惟一標示,內核根據此查詢是不是同一文件spa


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操作系統

相關文章
相關標籤/搜索