Tom Hale Asked: 2019-09-14 23:49:58 +0800 CST2019-09-14 23:49:58 +0800 CST 2019-09-14 23:49:58 +0800 CST 清理文件系统以检查所有使用的扇区是否可读 772 我希望有一种方法可以定期检查我是否确实可以读取驱动器上的所有数据,以便我可以重写任何文件和/或在出现问题时进一步调查。 ZFS 和 Btrfs 都有用于此目的的清理命令。 如何有效地清理 ext* 和 NTFS? filesystems 1 个回答 Voted Best Answer Tom Hale 2019-09-15T02:40:49+08:002019-09-15T02:40:49+08:00 一种方法是简单地读取每个文件,如果有问题,期待 STDERR 上的消息: (cd /mountpoint && find . -type d -o -type f -printf '%P\0' | xargs -0 b2sum -z) 2>errors | tee hashes (cd /mountpoint && find .-xdev -print0 | xargs -0P4 xxhsum )>哈希 2>错误 使用-zwith b2sum(or sha256sum) 允许使用换行符的文件名。 这有目的地包括目录以允许空目录。 如果空目录不是问题,则更短: (cd /mountpoint && sha256deep -0clrz -j0 -of . ) 2> errors | tee hashes 这将打印文件大小、哈希和文件名,后跟一个NUL. 理想情况下,我会添加-t,sha256deep但目前存在这个问题。
一种方法是简单地读取每个文件,如果有问题,期待 STDERR 上的消息:
(cd /mountpoint && find .-xdev -print0 | xargs -0P4 xxhsum )>哈希 2>错误
使用
-z
withb2sum
(orsha256sum
) 允许使用换行符的文件名。这有目的地包括目录以允许空目录。
如果空目录不是问题,则更短:
这将打印文件大小、哈希和文件名,后跟一个
NUL
.理想情况下,我会添加
-t
,sha256deep
但目前存在这个问题。