一、inode 包含文件的元信息
(1)inode 內容:
文件的字節數、擁有者的 UID、GID、文件的讀寫執行權限、時間戳等,但不包含文件
名。文件名是儲存在目錄的目錄項中。
(2)查看文件的 inode 內容,stat 命令node
2.Atime等詳解spa
英文 | 別稱 | 中文翻譯 | 什麼時候修改 | 查看命令 |
Access | Atime | 訪問時間 | 讀取、寫入 | ls-lu |
Modify | Mtime | 修改時間 | 寫入、修改 | ls-l |
Change/Create | Ctime | 改變時間/建立時間 | 修改文件名、寫入、操作系統 修改、該權限、作連接翻譯 |
ls-lc |
3.目錄文件的結構
(1)目錄也是一種文件
(2)目錄文件的結構:rest
文件名1 | inode號碼1 |
文件名2 | inode號碼2 |
........ | ........ |
每一個 inode 都有一個號碼,操做系統用 inode 號碼來識別不一樣的文件
Linux 系統內部不使用文件名,而使用 inode 號碼來識別文件。對於系統來講,文件名
只是 inode 號碼便於識別的別稱。blog
4.inode 的號碼
(1)系統內部打開文件的步驟:
1>系統找到這個文件名對應的 inode 號碼
2>經過 inode 號碼,獲取 inode 信息
3>根據 inode 信息,找到文件數據所在的 block,讀出數據
inode 通常爲 128 字節或 256 字節,每一個 inode 中都記錄着文件所在的 block 號,每條記錄着 block 號的信息佔用 4 字節。inode 中關於 block 號的記錄一共包含有 12 個直接、1 個間接、1 個雙間接和 1 個三間接。
12 個直接鏈接,共佔用 48 字節磁盤空間,包含着 12 個直接指向 block 號的信息,若此文件系統默認的 block 大小爲 4KB,則僅僅能夠指向 12*4=48KB 大小的文件內容,然而咱們的文件若較大時,則須要使用到更多的 block,確定要多於 12 個 block,進而有間接、雙間接和三間接。
間接指的是,inode 中所記錄這 4 字節的內容,所指向一個 block,這個block中存放的不是真是的文件內容,而是真實文件所存放位置的block號信息,若每一個block大小爲 4KB,那麼能夠存放 1024 個 block 號信息,1 個間接能夠存放的文件大小爲:1024*4=4096KB
雙間接則能夠存放更大的文件內容,即在間接的基礎上再進行間接,若此時 block大小爲默認的4KB,則1個雙間接能夠存放的文件內容大小爲:1024*1024*4=4096MB
三間接即在雙間接的基礎上在進行間接,若此時 block 大小爲默認的 4KB,則 1 個三間接能夠存放的文件內容大小1024*1024*1024*4=4096GB
也就是說,在一個 block 大小默認爲 4KB 的文件系統中,一個文件最大存儲能夠達到 48KB+4096KB+4096MB+4096GB,約爲 4100GB。
(2)查看文件的 inode 號碼
ls -i 文件名
stat 文件名ci
當一個用戶在 Linux 系統中試圖訪問一個文件時,系統會先根據文件名去查找它的inode,看該用戶是否具備訪問這個文件的權限。若是有,就指向相對應的數據 block;若是沒有過,就返回 Permission denied(拒絕訪問)
(3)刪除指定 inode 號所對應的文件
(1)格式:find ./ -inum inode 號 -exec rm -i {} \;
(2)示例:當文件名中包含特殊符號時咱們能夠刪除其 inode 號達到刪除文件的目的io
5.查看文件系統的inode與block的信息
xfs:df -i 設備名(文件系統已掛載時查詢,查詢 inode 總數與已用數量)
ext4:dumpe2fs -h 設備名(文件系統無需掛載)
ext4:tune2fs -l 設備名(文件系統無需掛載)table
6.格式化時指定文件系統的inode個數與block大小
(1)方法:
mkfs.ext4 -N inode 數 -b 塊大小(單位字節) 設備名基礎
7.解決 inode 耗盡致使的磁盤故障
(1)方法:
1>刪除不使用的文件
2>將文件備份,從新格式化此文件系統,指定較多的 inode 個數
8.硬連接(hard link)
(1)方法:ln 源文件 目標文件
(2)特色:
硬連接指向 inode,新生成的硬連接文件的 inode 號與源文件的 inode 號相同,不可針
對目錄進行硬連接,必須在同一文件系統內。刪除一個文件名,不影響另一個的訪問。
9.軟連接(soft link)
(1)方法:ln -s 源文件或目錄 目標文件或目錄
(2)特色:
軟連接指向文件名,新生成的軟連接文件的 inode 號與源文件不一樣,目錄也能夠生成軟
連接,軟連接文件與源文件能夠不在同一文件系統內,軟連接文件的內容是源文件的路徑,
讀取時系統會自動導向源文件,但當源文件移動或重命名時,軟連接將報錯。
10.硬連接和軟鏈接的對比:
硬連接 | 軟連接 | |
指向 | inode | 文件名 |
inode 號是否相同 | 相同 | 不一樣 |
是否能夠針對目錄 | 不可針對目錄 | 能夠針對目錄 |
能否跨文件系統 | 不可誇文件系統 | 可跨文件系統 |
刪除、重命名、移動源文件 | 不受影響 | 失效 |
建立命令 | In 源文件 目標文件 | In -s 源文件或目錄 目標文件或目錄 |
11.恢復誤刪除
執行恢復操做 1>經常使用選項: --inode 數值 指定從 inode 號爲多少開始顯示 --restore-file 文件名 恢復誤刪除的某個文件 --restore-all 恢復所有已刪除的文件 --after dtime 在某個時間點以後刪除的文件 --before dtime 在某個時間點以前刪除的文件