日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

Linux文件系統和日志分析

作者:G咖喱炒飯 更新時間: 2022-07-18 編程語言

目錄

一、indo和block塊

1、概述

2、inode的內容

3、用戶通過文件名打開文件時,系統內部的過程

4、查詢文件名對應的inode號碼和剩余inode的方式

查詢文件名對應的inode號碼命令

查看每個硬盤分區的inode總數和已經使用的數量,可以使用df命令

用刪除inode的方式刪除文件

?二、日志文件

1、簡述(作用、功能、分類)

2、常見的一些日志文件

3、Linux系統內核日志消息的優先級別


一、indo和block塊

1、概述

文件數據包括元信息與實際數據

文件存儲在硬盤上,硬盤最小存儲單位是”扇區“,每個扇區存儲512字節

block(塊)

  • 連續的八個扇區組成一個block

  • 是文件存取的最小單位

inode(索引節點)

  • 中文譯名為”索引節點“,也叫 i 節點

  • 用于存儲文件元信息

2、inode的內容

inode包含文件的元信息

  • 文件的字節數

  • 文件擁有者的User ID

  • 文件的Group ID

  • 文件的讀、寫、執行權限

  • 文件的時間戳

用stat命令可以查看某個文件的inode信息

  • 示例:stat aa.txt

3、用戶通過文件名打開文件時,系統內部的過程

  • 系統找到這個文件名對應的inode號碼
  • 通過inode號碼,獲取inode信息
  • 根據inode信息,找到文件數據所在的block,讀出數據

4、查詢文件名對應的inode號碼和剩余inode的方式

查詢文件名對應的inode號碼命令

1、ls -i
2、stat [文件名]

文件的時間戳:

  • Access Time: 簡寫為atime,表示文件的訪問時間。當文件內容被訪問時,更新這個時間
  • Modify Time: 簡寫為mtime,表示文件內容的修改時間,當文件的數據內容被修改時,更新這個時間。
  • ChangeTime: 簡寫為ctime,表示文件的狀態時間,當文件的狀態被修改時,更新這個時間,例如文件的鏈接數,大小,權限,Blocks數例如執行chmod, chown等命令;

inode也會消耗硬盤空間,所以格式化的時候,操作系統自動將硬盤分成兩個區域。一個是數據區,存放文件數據:另一個是inode區,存放inode所包含的信息。每個inode的大小,一般是128字節或256字節。 通常情況下不需要關注單個inode的大小,而是需要重點關注inode.總數。inode的總數在格式化時就給定了,執行"df-i"命令即可查看每個硬盤分區對應的的inode總數和已經使用的inode數量。

每個inode節點的大小,一般是128字節或256字節。inode節點的總數,在格式化時就給定了,一般是每1KB或每2KB就設置一個inode。假定在一塊1GB的硬盤中,每個inode節點大小為128字節,每1KB就設置一個inode,那么inode table的大小就會達到128MB,占整塊硬盤12.8%

查看每個硬盤分區的inode總數和已經使用的數量,可以使用df命令

df -i

df -ihT

由于每個文件都必須有一個inode,因此有可能發生inode已經用光,但是硬盤還未存滿的情況。這時,就無法在硬盤上創建新文件

由于inode號碼與文件名分離,導致Linux系統具備以下幾種特有的現象:

1、文件名包含特殊字符,可能無法正常刪除。這時直接刪除inode,能夠起到刪除文件的作用;

2、移動文件或重命名文件,只是改變文件名,不影響inode 號碼;

3、打開一個文件以后,系統就以inode 號碼來識別這個文件,不再考慮文件名。

用刪除inode的方式刪除文件

find ./ -inum 52305140 -exec rm -i {} \;
find ./ -inum 50464299 -delete

?二、日志文件

1、簡述(作用、功能、分類)

日志的作用

  • 輔助排障

  • 數據恢復

  • 數據分析

日志的功能

  • 用于記錄系統、程序運行發生的各種事件

  • 通過閱讀日志,有助于診斷和解決系統故障

日志文件的分類

  • 內核及系統日志

    • 由系統服務rsyslog統一進行管理,日志格式基本相似

  • 用戶日志

    • 記錄系統用戶登錄及退出系統的相關信息

  • 程序日志

    • 由各種應用程序獨立管理的日志文件,記錄格式不統一

內核及系統日志:這種日志數據由系統服務rsyslog統一管理,根據其主配置文件 /etc/rsyslog.conf中的設置決定將內核消息及各種系統程序消息記錄到什么位置。系統中有相當一部分程序會把自己的日志文件交由 rsyslog 管理,因而這些程序使用的日志記錄也具有相似的格式

用戶日志:這種日志數據用于記錄Linux操作系統用戶登錄及退出系統的相關信息,包括用戶名、登錄的終端、登錄時間、來源主機、正在使用的進程操作等。

程序日志:有些應用程序會選擇由自己獨立管理一份日志文件(而不是交給rsyslog 服務管理),用于記錄本程序運行過程中的各種事件信息。由于這些程序只負責管理自己的日志文件,因此不同程序所使用的日志記錄格式可能會存在較大的差異。

2、常見的一些日志文件

#內核及公共消息日志: /var/log/messages: 記錄Linux內核消息及各種應用程序的公共日志信息,包括啟動、IO錯誤、網絡錯誤、程序故障等。 對于未使用獨立日志文件的應用程序或服務,一般都可以從該日志文件中獲得相關的事件記錄信息。

#計劃任務日志: /var/log/cron: 記錄crond計劃任務產生的事件信息。

#系統引導日志: /var/log/dmesg: 記錄Linux系統在引導過程中的各種事件信息。

#郵件系統日志: /var/log/maillog: 記錄進入或發出系統的電子郵件活動。

#用戶登錄日志:

/var/log/secure: 記錄用戶認證相關的安全事件信息。

/var/log/lastlog: 記錄每個用戶最近的登錄事件。二進制格式

/var/1og/wtmp: 記錄每個用戶登錄、注銷及系統啟動和停機事件。二進制格式

/var/run/btmp: 記錄失敗的、錯誤的登錄嘗試及驗證事件。二進制格式

3、Linux系統內核日志消息的優先級別

(數字等級越小,優先級越高,消息越重要) :

0 ????????EMERG(緊急): 會導致主機系統不可用的情況。

1 ????????ALERT(警告): 必須馬上采取措施解決的問題。

2 ????????CRIT(嚴重): 比較嚴重的情況。

3 ????????ERR (錯誤) : 運行出現錯誤。

4 ????????WARNING(提醒): 可能影響系統功能,需要提醒用戶的重要事件。

5 ????????NOTICE (注意) : 不會影響正常功能,但是需要注意的事件。

6???????? INFO(信息): 一般信息。

7 ????????DEBUG(調試): 程序或系統調試信息等。

原文鏈接:https://blog.csdn.net/GaLiCHaoFan1/article/details/125836060

欄目分類
最近更新