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
|