ex2fsck 檢查ext2、ext3、ext4文件系統,如果系統已經掛載了,那麼不建議去檢查,因為這樣是不安全的。此命令的適用範圍:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。 1、語法 e2fsck [-pacnyrdfkvtDFV] [-b s ...
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
|