fsck 和 e2fsck 有什么区别?

Fre*_*ton 38 linux fsck

linux磁盘查错工具fsck和e2fsck有什么区别?

hyp*_*lug 36

fsck 只是原来的名字。当他们推出新的文件系统时,他们需要一个特定的工具,用于 ext 的 efsck、用于 ext2 的 e2fsck、dosfsck、fsckvfat。所以他们让 fsck 成为前端,只调用合适的工具。


小智 17

fsck是特定于文件系统的fsck.*工具系列的包装器。它们可以与一个警告互换使用(来自 fsck 联机帮助页):

fsck 不理解的选项将传递给特定于文件系统的检查器。 这些参数不能带参数,因为 fsck 无法正确猜测哪些参数带选项,哪些不带。

-- 后面的选项和参数被视为要传递给文件系统特定检查器的特定于文件系统的选项。

请注意, fsck 并非旨在将任意复杂的选项传递给特定于文件系统的检查器。 如果您正在做一些复杂的事情,请直接执行特定于文件系统的检查器。 如果您向 fsck 传递了一些非常复杂的选项和参数,并且它没有按照您的预期运行,请不要将其报告为错误。您几乎可以肯定正在做一些您不应该使用 fsck 做的事情。

但是,fsck 将处理文件系统上的大多数正常操作。


Pau*_*ane 6

在我的系统上,我有:

  • fsck
  • fsck.ext2
  • fsck.ext3
  • fsck.ext4
  • e2fsck
  • ...(fsck.*用于其他非 ext 文件系统的更多工具)

现在,这些都不是象征性的联系,但e2fsckfsck.ext2/3/4工具都有着相同的inode所以实际上是相同的文件。(这个二进制文件可能会在运行时询问它自己的名称,并且对于调用它的名称会有不同的行为,但我怀疑是这种情况。)

所以我们现在只有两个工具:

  • fsck
  • e2fsck

而且,正如其他人所说,fsck它只是一个前端,它为所讨论的文件系统调用适当的工具,在这种情况下是e2fsck用于 ext 系列文件系统。

我认为拥有各种fsck.ext2/3/4文件的原因是 1. 编写可以一般处理所有文件系统类型的脚本很容易(他们可以从文件系统类型中简单地推导出 fsck 工具名称)和 2. 为了灵活性,所以它很简单将来如有必要,将 e2fsck 拆分为两个或多个独立的工具。