ex2fsck
檢查ext2、ext3、ext4文件系統,如果系統已經掛載了,那么不建議去檢查,因為這樣是不安全的。此命令的適用范圍:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。
1、語法
e2fsck [-pacnyrdfkvtDFV] [-b superblock] [-B blocksize] [-l|-L bad_blocks_file ] [-C fd] [-j external-journal] [-E extended_options ] device
設備是存儲文件系統的設備文件(例如/dev/hdc 1)。
2、選項列表
選項
說明
-a | -p
自動修復文件系統
-b superblock
指定塊大小。不要使用普通的超級塊,而是使用由superblock指定的替代超級塊。此選項通常在主超級塊損壞時使用。備份超級塊的位置取決于文件系統的塊大小。對于具有1k塊的文件系統,可以使用備份超級塊。在塊8193處找到;對于具有2k塊的文件系統,在塊16384處找到;對于4k塊在塊32768處找到。
其他備份超級塊可以通過使用mke2fs程序使用-n選項打印出創建超級塊的位置來確定。mke2fs的-b選項必須指定文件系統的塊大小,以便打印出準確的超級塊位置。
如果指定了另一個超級塊,并且文件系統不是只讀的,e2fsck將確保主超級塊在完成文件系統檢查后得到適當更新。
-B blocksize
正常情況下,e2fsck將在不同塊大小下搜索超級塊,以試圖找到適當的塊大小。在某些情況下,此搜索可能會被愚弄。此選項迫使e2fsck只嘗試在特定塊大小上定位超級塊。如果找不到超級塊,e2fsck將以致命錯誤結束。
-c
此選項會導致e2fsck使用badblock(8)程序對設備執行只讀掃描,以查找任何壞塊。如果發現任何壞塊,則將它們添加到壞塊inode中,以防止將它們分配給文件或目錄。如果指定了該選項兩次,則將使用無損讀寫測試完成壞塊掃描。
-C fd
此選項導致e2fsck將完成信息寫入指定的文件描述符,以便監視文件系統檢查的進度。運行e2fsck的程序通常使用此選項。如果文件描述符號為負數,則將使用文件描述符的絕對值,而進度信息最初將被抑制。之后,可以通過向e2fsck進程發送SIGUSR 1信號來啟用它。如果指定的文件描述符為0,e2fsck將在其業務進行時打印一個完成欄。這要求e2fsck在視頻控制臺或終端上運行。
-d
顯示調試信息
-D
優化文件系統中的目錄。此選項導致e2fsck嘗試優化所有目錄,如果文件系統支持目錄索引,則通過重新索引這些目錄,或者對較小目錄的目錄進行排序和壓縮,或者使用傳統的線性目錄對文件系統進行排序和壓縮。即使沒有-D選項,e2fsck有時也可能優化幾個方向。例如,如果啟用目錄索引,并且目錄沒有索引,或者索引結構被破壞并需要重建,則會受益。-D選項強制對文件系統中的所有目錄進行優化。它們較小,搜索速度稍快,但實際上,您不需要使用此選項。-D選項將檢測單個目錄中具有重復名稱的目錄項,由于性能原因,e2fsck通常不強制執行。
-E extended_options
設置e2fsck擴展選項。擴展選項是逗號分隔的,可以使用等于(‘=’)號進行參數設置。
ea_ver=extended_attribute_version,在檢查文件系統時,設置e2fsck所需的擴展屬性塊的版本。版本號可能是1或2。默認的擴展屬性版本格式是2。
fragcheck,在傳遞1期間,為文件系統中的文件打印任何不連續塊的詳細報告。
discard,在進行完整的文件系統檢查后,嘗試丟棄空閑塊和未使用的inode塊。
nodiscard,不要試圖丟棄空閑塊和未使用的inode塊。這個選項與discard選項正好相反。此設置為默認設置。
-f
強制檢查
-F
在開始檢查之前,清空緩沖區
-I file
指定文件中的塊添加在損壞列表
-j file
設置文件系統在日志文件的路徑
-k
當與-c選項相結合時,壞塊列表中的任何現有壞塊將被保留,而通過運行badblocks (8)發現的任何新壞塊將被添加到現有的壞塊列表中。
-l filename
將文件名指定的文件中所列的塊號添加到壞塊的列表中。此文件的格式與badblocks (8)程序生成的格式相同。請注意,塊號是基于文件系統的塊大小。因此,對e2fsck使用-c選項更簡單、更安全,因為它將確保將正確的參數傳遞給badblock程序。
-L filename
將壞塊列表設置為文件名指定的塊列表。(此選項與-l選項相同,除非在將文件中列出的塊添加到壞塊列表之前清除壞塊列表。)
-n
打開文件系統只讀,并假設對所有問題的答案為“no”。允許非交互地使用e2fsck。此選項不能與-p或-y選項同時指定。
-p
自動修復(“preen”)文件系統。此選項將導致e2fsck自動修復任何不需要人工干預就能安全修復的文件系統問題。如果e2fsck發現可能需要系統管理員采取額外糾正措施的問題,e2fsck將打印問題的描述,然后以代碼4退出。(請參閱退出代碼部分。)此選項通常由系統的引導腳本使用。它不能與-n或-y選項同時指定。
-r
不執行任何操作,提供向后的兼容性
-S
交換文件系統的字節順序
-t
打印e2fsck的時間統計信息。如果使用此選項兩次,則附加的時間統計信息將按傳遞方式打印。
-v
顯示執行的詳細過程
-V
顯示命令版本號,并且退出
-y
所有的交互回話都回答yes,此選項不能與-n或-p選項同時指定。
3、說明
e2fsck用于檢查ext 2/ext 3/ext 4系列文件系統。對于使用日志的ext 3和ext 4文件系統,如果系統在沒有任何錯誤的情況下被不干凈地關閉,通常在日志中重播提交的事務之后,文件系統應該標記為干凈。因此,對于使用日志的文件系統,e2fsck通常會重播日志并退出,除非它的超級塊表明需要進一步檢查。
請注意,通常在掛載的文件系統上運行e2fsck是不安全的。唯一的例外是指定了-n選項,并且沒有指定-c、-l或-L選項。然而,即使這樣做是安全的,如果掛載了文件系統,e2fsck打印的結果也是無效的。
4、返回值
e2fsck可以返回以下值:
0,沒有錯誤。
1,文件系統錯誤更正。
2,文件系統錯誤更正,系統應該重啟。
4,文件系統錯誤沒有更正。
8,操作錯誤。
16,語法錯誤。
32,用戶取消了操作。
128,共享庫錯誤
5、信號
對e2fsck發送以下信號,并產生相應的結果:
SIGUSR1,此信號導致e2fsck開始顯示完成欄或發出進度信息。(見對-C選項的討論。)
SIGUSR2,此信號導致e2fsck停止顯示完成欄或發出進度信息。。
6、實例
以只讀的方式檢查sda1
[root@localhost ~]# e2fsck -n /dev/sda1
e2fsck 1.41.12 (17-May-2010)
Warning! /dev/sda1 is mounted. //文件系統已經掛載,因此會有警告
Warning: skipping journal recovery because doing a read-only filesystem check. //以只讀的方式執行,不去修復
/dev/sda1: clean, 39/128016 files, 49152/512000 blocks
本站文章版權歸原作者及原出處所有 。內容為作者個人觀點, 并不代表本站贊同其觀點和對其真實性負責,本站只提供參考并不構成任何投資及應用建議。本站是一個個人學習交流的平臺,網站上部分文章為轉載,并不用于任何商業目的,我們已經盡可能的對作者和來源進行了通告,但是能力有限或疏忽,造成漏登,請及時聯系我們,我們將根據著作權人的要求,立即更正或者刪除有關內容。本站擁有對此聲明的最終解釋權。