CHK是一款文件完整性的检测工具CHK咜可以验证文件的完整性让你可以查看到你的文件的大小、类型和sha等等信息,CHK可以帮你核对你的文件信息比较复制/传输的文件还可以查找和从计算机中删除重复的文件
CHK是一款文件完整性的检测工具。CHK它可以验证文件的完整性让你可以查看到你的文件的大小、类型和sha等等信息CHK可以帮你核对你的文件信息比较复制/传输的文件,还可以查找和从计算机中删除重复的文件
查找和从计算机中删除重复的文件
比较复制/传输的文件
简单的界面完整的Unicode和拖放支持
专业文档是百度文库认证用户/机構上传的专业性文档文库VIP用户或购买专业文档下载特权礼包的其他会员用户可用专业文档下载特权免费下载专业文档。只要带有以下“專业文档”标识的文档便是该类文档
VIP免费文档是特定的一类共享文档,会员用户可以免费随意获取非会员用户需要消耗下载券/积分获取。只要带有以下“VIP免费文档”标识的文档便是该类文档
VIP专享8折文档是特定的一类付费文档,会员用户可以通过设定价的8折获取非会員用户需要原价获取。只要带有以下“VIP专享8折优惠”标识的文档便是该类文档
付费文档是百度文库认证用户/机构上传的专业性文档,需偠文库用户支付人民币获取具体价格由上传人自由设定。只要带有以下“付费文档”标识的文档便是该类文档
共享文档是百度文库用戶免费上传的可与其他用户免费共享的文档,具体共享方式由上传人自由设定只要带有以下“共享文档”标识的文档便是该类文档。
敬请期待该系列的后续内容
敬请期待该系列的后续内容
本文涵盖了标准和日志文件系统(也称为日志),将重點放在 ext2(标准文件系统)和 ext3(日志文件系统)上但是用于其他文件系统的工具也有提及。该资料绝大部分同时适用于 2.4 和 2.6 内核 本文中的夶部分示例使用带有 2.6.32 内核的 Fedora 12。您在其他系统上的结果可能会有所不同
为了最有效地利用本系列中的文章,您应该具有基本的 Linux 知识并需偠准备一个 Linux 系统,用于练习本文介绍的命令有时候不同版本的程序输出格式不同,因此您所得到的结果未必总是与这里所示的清单和图楿同
您还应该熟悉我们的文章 “” 中的内容。
有时候系统可能会崩溃或者断电在这些情况下,Linux 无法干净地卸载文件系统它们可能会處于不一致的状态,即某些修改完成了而其他修改没有完成。操作受损的文件系统不是一个好的解决方法因为这可能会使现有的错误進一步复杂化。
以下不属于系统完整性检查工具的是文件系统的主要工具是 fsck
与 mkfs
相似,这种工具实际上也是针对各种文件系统类型的文件系统以下不属于系统完整性检查工具的是例程的前端一些底层以下不属于系统完整性检查工具的是例程如清单 1 所示。
您可能会惊讶地发現这些文件中有很多是到一个文件的硬链接,如清单 2 所示因为这些文件可能早在启动过程中就已用到,所以可能未挂载文件系统且苻号链接尚不可用。参见我们的文章 了解关于硬链接和符号链接的更多信息。
系统引导过程使用 fsck
的 -A
选项来以下不属于系统完整性检查工具的是根文件系统和 /etc/fstab 控制文件中指定以下不属于系统完整性检查工具的是的所有其他文件系统如果文件系统不能完全卸载,那么执行一致性以下不属于系统完整性检查工具的是并进行修复这一切都要在安全环境下完成。这受 /etc/fstab 项的 pass(或 passno)字段(第 6
个字段)控制在引导时,不以下不属于系统完整性检查工具的是 pass 设置为零的文件系统根文件系统的 pass 值是 1,它先被以下不属于系统完整性检查工具的是其他文件系统的 pass 值常常是 2(或更大),这些值表示应该以什么次序以下不属于系统完整性检查工具的是它们
如果系统认为有利,多个 fsck
操作可同時运行所以不同文件系统可以具有相同的 pass 值,清单 3 中所示的 /grubfile 和 //mnt/ext3test 文件系统就是这种情况注意,fsck
会避免在同一物理磁盘上运行多个文件系統以下不属于系统完整性检查工具的是要了解有关 /etc/fstab 布局的更多信息,请查看
一些日志文件系统(比如 ReiserFS 和 XFS)的 pass 值可能为零因为由日志代碼(而非 fsck
)执行文件系统一致性以下不属于系统完整性检查工具的是和修复。另一方面有些文件系统,比如 /proc是在初始化时构建的,因洏有必要予以以下不属于系统完整性检查工具的是
您可以在引导系统后以下不属于系统完整性检查工具的是文件系统。您将需要根授权且要首先卸载希望以下不属于系统完整性检查工具的是的文件系统。清单 4 显示如何使用设备名、标签或 UUID 以下不属于系统完整性检查工具嘚是我们其中的两个文件系统您可以使用 blkid
命令,根据给定的标签或 UUID 查找设备或根据给定设备名查找标签和 UUID。
如果您尝试以下不属于系統完整性检查工具的是一个挂载的文件系统您通常会看到一个警告,类似于清单 5 中在试图以下不属于系统完整性检查工具的是根文件系統时出现的警告听从警告,不要执行!
另外最好让 fsck
弄清在一个文件系统上要运行哪个以下不属于系统完整性检查工具的是;运行错误的以下不属于系统完整性检查工具的是会损坏文件系统如果您想了解 fsck
会为给定的文件系统或文件系统集做什么,使用清单 6 中所示的 -N
选项
到目前为止,我们以下不属于系统完整性检查工具的是了 ext 和 vfat 文件系統现在我们来以下不属于系统完整性检查工具的是 /dev/sda8 上的 XFS 文件系统。正如清单 7 所示fsck
命令仅告诉我们应该使用 xfs_check
命令。如果没有错误那么 xfs_check
鈈显示任何输出。对于冗长输出有一个 -v
选项,不过它对于一个简单的以下不属于系统完整性检查工具的是来说太过繁琐
在一个存储设備上,文件或目录包含在块 集合中有关文件或目录的信息包含在 inode 中,inode 记录的信息包括所有者是谁、上次访问文件是何时、文件有多大、它是否是目录、谁能对其进行读写操作。inode 号也就是文件序列号在一个特定的文件系统中是惟一的。参见我们的文章 了解关于文件和目录的更多信息。
数据块和 inode 都要占用文件系统上的空间所以需要监控空间的使用情况,确保文件系统有增长的空间
df
命令显示挂载的文件系统的相关信息。 如果您添加 -T
选项那么显示中会包含文件系统的类型;否则不予显示。对于我们上面使用过的 Fedora 12 系统df
输出如清单 8 所示。
注意输出包含块的总数、使用量和空闲量。还有设备名(/dev/sbd9)以及其挂载点:/ /dev/sdb9tmpfs
项用于虚拟内存文件系统。這些仅存在于 RAM 或交换空间中且在挂载时无需使用 mkfs
命令即可被创建。您可以在 “” 中了解更多 tmpfs 相关内容
如果需要关于 inode 使用情况的特定信息,那么在 df
命令中使用 -i
选项您可以使用 -x
选项排除某些文件系统类型,或使用 -t
选项只显示某些文件系统类型的信息如有必要,可多次使鼡这些选项参见清单 9 中的示例。
您可能会看到 FAT32 文件系统没有 inode这不足为奇。如果您有一个 ReiserFS 文件系统其信息中也不显示 inode。ReiserFS 在 stat items 中保存文件囷目录的元数据而且,因为 ReiserFS 使用平衡的树结构所以没有像 ext2、ext3 或 xfs 文件系统中那样的预先确定的 inode 号。
还可以在 df
命令上使用其他选项从而呮显示本地文件系统或者控制输出格式。例如使用 -H
选项显示人工可读的空间大小,比如 1K 表示 1024或使用 -h
(或 --si
)选项将空间大小表示以 10 的幂佽方为单位(1K=1000)。
如果不确定目录树的某一部分在哪个文件系统上那么可以使用 df
命令并提供目录名或文件名作为参数,如清单 10 所示
文件系统的 ext 系列也有一个称为 tune2fs
的实用程序,可用于以下不属于系统完整性检查工具的是有关块数目的信息以及文件系统是日志型(ext3 或 ext4)还是標准型(ext2)的信息该命令还可用于设置多个参数或通过添加一个日志将一个 ext2 文件系统转化为 ext3 文件系统。清单 11 显示几乎为空的 ext3 文件系统的輸出信息使用 -l
选项来仅显示现有信息。
对于 XFS 文件系统您可以使用 xfs_info
显示在创建文件系统时 mkfs.xfs
显示的相同信息。您需要在一个挂载的文件系統上使用 xfs_info
df
命令只提供关于整个文件系统的信息。有时您可能想知道主目录使用了多少空间或者将 /usr 转移到一个专用的文件系统需要多大嘚分区。为了回答这类问题使用 du
命令。
du
命令显示参数指定的文件(或多个文件)的相关信息如果目录名已给定,那么 du
命令递归地计算給定目录中的每个文件和子目录的大小结果可能有很多输出。幸好您可以使用 -s
选项显示目录的汇总。如果使用 du
获取多个目录的信息那么可以添加 -c
选项来获得总值。您也可以使用与 df
相同的选项集(-h
、-H
、--si
等)来控制输出格式清单 13 显示了一个新建用户的主目录的两个视图,该用户已登录过一次且创建了一个 index.html 文件
关于 du
还要注意一点,对于正在运行的命令所在的目录您必须有读权限。
现在让我们使用 du
来顯示 /usr 树及其每个一级子目录使用的空间总量。结果如清单 14 所示使用根授权来确保您拥有适当的访问权限。
偶尔会有最坏的情况发生(我們希望尽量少发生)您需要因系统崩溃或故障未能完全卸载而修复一个文件系统。上面提及的 fsck
命令可以下不属于系统完整性检查工具的昰和修复文件系统通常自动启动时以下不属于系统完整性检查工具的是可修复这些问题,以供您继续操作
如果文件系统的引导时自动鉯下不属于系统完整性检查工具的是无法恢复一致性,您通常要转入一个单用户 shell可以在这里用一些指令手动运行 fsck
。对于非日志型的 ext2 文件系统会向您提出一系列请求,请您确认建议的操作以修复文件系统上的特定块一般应该回答 y
(表示 yes ),让 fsck
尝试修复问题在系统重启時,以下不属于系统完整性检查工具的是是否有任何丢失的数据或文件
如果怀疑文件系统损坏了,或希望手动运行以下不属于系统完整性检查工具的是大多数以下不属于系统完整性检查工具的是程序要求先卸载文件系统,或至少以只读模式挂载文件系统因为不能卸载囸在运行的系统上的根文件系统,最好进入单用户模式(使用 telinit 1
)然后以只读模式重新挂载根文件系统,这时便可执行一个一致性以下不屬于系统完整性检查工具的是以下不属于系统完整性检查工具的是文件系统的一种更好的方式是引导一个恢复系统,比如实时 CD 或 USB
内存密鑰然后从那里以下不属于系统完整性检查工具的是未挂载的文件系统。
如果 fsck
不能修复问题您还有其他工具可用,不过您通常需要具备攵件系统布局的高级知识才能成功修复问题
对 ext2 硬盘进行 fsck
扫描要花费相当长的时间,因为必须完整地扫描文件系统的内部数据结构(或元數据)随着文件系统越来越大,尽管硬盘的速度快了但是这个过程花的时间仍然越来越长,所以一次完整的以下不属于系统完整性检查工具的是可能要花一小时甚至更长时间。
这个问题导致了日志型 文件系统的出现日志型文件系统维护着最近对文件系统元数据的修妀的日志。在系统崩溃之后文件系统驱动程序以下不属于系统完整性检查工具的是了这个日志,判断文件系统最近修改的部分是否有错誤由于采用了这种设计,以下不属于系统完整性检查工具的是日志型文件系统的一致性通常只需几秒时间无论文件系统有多大。而且文件系统驱动程序常常在挂载时以下不属于系统完整性检查工具的是文件系统,所以外部的 fsck
以下不属于系统完整性检查工具的是一般是鈈需要的实际上,对于 xfs 文件系统fsck
不做任何事!
自动修复可安全修复的问题。这实际上就是在引导时进行的
我们将阐述 e2fsck
和 xfs_check
的用法,首先在一个空的 XFS 文件系统上运行 e2fsck
然后使用 xfs_check
修复它。我们曾建议您使用 fsck
前端以确保您在使用正确的以下不属于系统完整性检查工具的是程序,而且我们提醒过不这样做可能导致文件系统损坏。
在清单 15 中我们开始对包含一个 XFS 文件系统的 /dev/sda8 运行 e2fsck
。在经过一些交互之后我们使鼡 ctrl-Break 来中断,但是已经太晚了警告:除非您希望毁坏您的文件系统,否则切勿这样做
即使您在第一个提示出现时中断,您的 XFS 系统还是受箌损坏了再次强调,除非您希望毁坏您的文件系统否则切勿这样做。
现在让我们使用 xfs_check
来修复 XFS 文件系统xfs_check
命令相当冗长,不过它有一个 -s
選项仅报告真正的错误其输出如清单 16 所示。
您还可使用 xfs_repair
来修复一个 XFS 文件系统如同 xfs_check
一样,它也相当冗长且没有 -s
选项。如果您想了解什麼需要修复但又无需真正修复它使用 xfs_repair -n
。
您可能会困惑所有这些以下不属于系统完整性检查工具的是和修复工具如何知道从哪里开始。Linux 囷 UNIX 文件系统通常有一个超级块它描述文件系统元数据 或描述文件系统本身的数据。这通常存储在一个已知位置一般在文件系统起始处附近,而在其他众所周知的位置进行复制您可以使用 mke2fs
的 -n
选项来显示一个现有文件系统的超级块位置。如果您指定了参数比如每个 inode 的字節数之间的比例,在使用 -n
选项时就应当调用带相同参数的 mke2fs
清单 17 显示 /dev/sda7 上超级块的位置。
有一些更高级的工具可以用来鉯下不属于系统完整性检查工具的是或修复文件系统通过手册页了解正确的使用方法,并参考 Linux Documentation Project(参见 )中的 how-to 信息这些工具几乎都要求先卸载文件系统,但是有些功能可以应用于以只读模式挂载的文件系统下面描述了几个命令。
在尝试进行任何恢复之前应该对文件系統进行备份。
我们将通过对 debugfs
命令的阐述来完成對文件系统工具的回顾该命令允许您探索一个 ext 系列文件系统的内在工作机理。默认情况下它以只读模式打开文件系统。它有很多命令鈳支持您取消对文件或目录的删除且执行其他需要写访问的操作,因此您特别需要使用 -w
选项启用写访问使用它时一定要谨慎。清单 18
显礻在我的系统上打开根文件系统;导航到我的主目录;显示一个名为 index.html 的文件的相关信息包括 inode 号;最后将该 inode 号映射回文件的路径名。
我们介绍了可用于以下不属于系统完整性检查工具的是、修改和修复文件系统的多个工具切记谨慎使用本文讨论的工具或任何其他工具。只需轻轻敲击一下键盘可能就会导致数据丢失