Linux系統管理12 Linux檔案系統與日誌

2022-09-18 05:33:20 字數 3353 閱讀 8065

一深入理解linx檔案系統-inode與block

檔案儲存在硬碟上,硬碟的最小儲存單位叫做"扇區"(sector)。每個扇區儲存512位元組(相當於0.5kb)。

作業系統讀取硬碟的時候,不會乙個個扇區地讀取,這樣效率太低,而是一次性連續讀取多個扇區,即一次性讀取乙個"塊"(block)。這種由多個扇區組成的"塊",是檔案訪問的最小單位。"塊"的大小,最常見的是4kb,即連續八個 sector組成乙個 block。

檔案資料都儲存在"塊"中,那麼很顯然,我們還必須找到乙個地方儲存檔案的元資訊,比如檔案的建立者、檔案的建立日期、檔案的大小等等。這種儲存檔案元資訊的區域就叫做inode,中文譯名為"索引節點"。

inode:記錄檔案的屬性,乙個檔案占用乙個inode,同時記錄了檔案資料所在的block號碼。

block:記錄了檔案的內容,若檔案太大會占用多個bolck塊。一般大小為1k、2k、4k。

inode的特殊作用

由於inode號碼與檔名分離,這種機制導致了一些unix/linux系統特有的現象。

1. 有時,檔名包含特殊字元,無法正常刪除。這時,直接刪除inode節點,就能起到刪除檔案的作用。

2. 移動檔案或重新命名檔案,只是改變檔名,不影響inode號碼。

3. 開啟乙個檔案以後,系統就以inode號碼來識別這個檔案,不再考慮檔名。因此,通常來說,系統無法從inode號碼得知檔名。

第3點使得軟體更新變得簡單,可以在不關閉軟體的情況下進行更新,不需要重啟。因為系統通過inode號碼,識別執行中的檔案,不通過檔名。更新的時候,新版檔案以同樣的檔名,生成乙個新的inode,不會影響到執行中的檔案。等到下一次執行這個軟體的時候,檔名就自動指向新版檔案,舊版檔案的inode則被**

英文別稱

中文翻譯

何時修改

檢視命令

access

atime

訪問時間

讀取。寫入

ls   -lu

modify

mtime

修改時間

寫入。修改

ls  -l

change/create

ctime

修改檔名。寫入。修改。改許可權。做鏈結

ls  -lc

重要  查詢/tmp目錄下三天內修改的檔案,並移動到/opt下

find  /tmp  -type f  -a  -mtime  -3 -exec  mv  {}  /opt  \;     (+3是三天內 ,-3是3天前)

(2)檢視檔案的inode號碼

ls   -i  檔名

stat  檔名

5. 刪除指定inode號所對應的的檔案

find  ./  -inum  inode號  -exec  rm  -i  {}  \;

6.檢視檔案系統的inode與block 的資訊

df  -i  裝置名 (只能查掛載的檔案的系統)

dumpe2fs  -h  裝置名(檔案系統無需掛載)

tune2fs  -l  裝置名  (檔案系統無需掛載)

7 。格式化時指定檔案系統的inode個數與block大小

方法: mkfs.ext4  -n  inode數  -b塊大小(單位位元組,一般情況是4k  但是可以改變大小,不過一般情況下可以省略)    裝置名

8解決inode耗盡導致的磁碟故障

<1  刪除不使用的檔案

< 2  將檔案備份,重新格式化此檔案系統,指定較多的inode個數

二  深入理解linux  檔案系統---鏈結

1 硬鏈結 

方法: ln   原始檔   目標檔案

2 軟鏈結 

方法 : ln  -s  原始檔或目錄  目標檔案或目錄

特點:軟鏈結指向檔名,新生成的軟鏈結的inode號與原始檔不同,目錄也可以生成軟鏈結,軟鏈結檔案與原始檔可以不再同一檔案系統內,軟鏈結檔案的內容是原始檔的路徑,讀取時系統會自動導向原始檔,但是當原始檔移動或重名時,軟鏈結報錯

三 恢復誤刪除的檔案  (centos 7沒有此功能 ,centos 6 還有此功能)

四 分析日誌檔案

1.日誌檔案的分類

(1)核心及系統日誌  #最終要的日誌檔案

(2)使用者日誌

(3)程式日誌

2 日誌檔案所在的位置

日誌檔案

存放內容

檢視命令

/var/log/messages

核心訊息及各種應用程式的公共日誌資訊,包括啟動。i/o錯誤。網路錯誤。程式故障等

cat等

/var/log/lastlog

每個使用者最近的登入事件

last  lastlog

/var/log/secure

使用者認證相關的安全時間資訊

cat等

/var/log/wtmp

每個使用者登入、登出及系統啟動和停機事件

users、who、w、

/var/log/btmp

失敗的、錯誤的登入嘗試及驗證事件

lastb

file  檢視檔案型別

5 。日誌訊息的級別

級別英文表示及翻譯

意義emerg(緊急)

導致主機不可用

alert(警告)

必須馬上採取措施解決

crit(嚴重)

比較嚴重的情況

err(錯誤)

執行出現錯誤

命令   :  last :查詢成功登陸到系統的使用者記錄,最近的登入情況在最前面

-a  :從何處登入系統的主機名稱或ip位址,顯示在最後一行

-n: 表示最近n次登入的記錄

lastlog 命令 :用於顯示系統所有使用者最近一次登入資訊

lastb  命令 :用於顯示使用者錯誤的登入列表,此指令可以發現系統的登入異常

(3)程式日誌

存放位置:不固定

7  對於日誌檔案的保護

chattr   +a  日誌檔案

chattr   +a  -r  遞迴增加a許可權

8  日誌管理

<1   針對日誌,定期備份,異地備份(保留1-3日的日誌記錄)

<2   針對許可權要嚴格(防止敏感資訊洩露),針對日誌做集中管理

<3  針對日誌定期切割  mv  /var/log/messages/   /var/log/messages-$(date -d "-1  days"+%f)  前一天

date + %f當前時間

Linux系統管理

程序是正在執行的乙個程式或命令,每乙個程序都有乙個執行的實體,都喲自己的位址空間,並占用一定的系統資源。盤點伺服器的健康狀態 檢視所有系統中所有程序 殺死程序 1.3.1 ps aux 檢視系統中所有程序,使用bsd作業系統格式 1.3.2 ps le 檢視系統中所有程序,使用linux標準命令格式...

Linux 系統管理

linux 系統管理 檢視資料夾大小 du sh 第1章 程序管理 1 1 程序檢視ps命令 1 2 程序的檢視top命令 1 3 殺死程序 1 4 修改程序優先順序 第2章工作管理 2 1 工作管理簡介 2 2 工作管理方法 把命令放到後台 如果想要程序在後台執行 必須不能與前台有互動 1 把程序...

linux 系統管理

正在執行的程式,任何程式執行都要耗費一定的系統資源 判斷伺服器健康狀態 檢視系統中所有程序 殺死程序 1 判斷程序健康狀態 top 選項 d 秒數 指定top命令每隔幾秒更新。預設是3秒 b 使用批處理模式輸出。一般和 n 選項合用 n 次數 指定top命令執行的次數。一般和 b 選項和用 在top...