網站首頁 編程語言 正文
目錄
一、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
- 上一篇:Qt和Windows消息通信機制
- 下一篇:進程和計劃任務管理
相關推薦
- 2023-02-17 linux?命令中的大于號、小于號的作用及代表的意思_linux shell
- 2022-05-20 python?特有語法推導式的基本使用_python
- 2022-09-15 .Net站點設置多個路由對應同一個Action_實用技巧
- 2022-10-30 數據庫加密字段進行模糊查詢詳解_數據庫其它
- 2022-11-30 詳解如何在Go語言中循環數據結構_Golang
- 2022-11-12 基于Python制作一個匯率換算程序_python
- 2022-10-16 go?swagger生成接口文檔使用教程_Golang
- 2022-11-15 Golang?使用os?庫的?ReadFile()?讀文件最佳實踐_Golang
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支