![检查自上次恢复出厂设置后是否已使用块设备](https://linux22.com/image/180138/%E6%A3%80%E6%9F%A5%E8%87%AA%E4%B8%8A%E6%AC%A1%E6%81%A2%E5%A4%8D%E5%87%BA%E5%8E%82%E8%AE%BE%E7%BD%AE%E5%90%8E%E6%98%AF%E5%90%A6%E5%B7%B2%E4%BD%BF%E7%94%A8%E5%9D%97%E8%AE%BE%E5%A4%87.png)
如何检查块设备上是否有任何有用的数据?这是否可以通过编程来确定?我特别关心 SD 卡,尽管我确信相同或相似的规则可以适用于任何设备。
我的场景是,我正在将 Raspberry Pi 或其他操作系统写入 SD 卡,可能包含一些初始文件,dd
作为脚本的一部分使用,并且希望在 SD 卡不为空时显示提示,因此如果需要,用户可以恢复文件。-f
一旦检索到所有有用的文件,用户将使用一个选项重新运行脚本。由于这个过程是自动化的,我希望用户做尽可能少的工作,并回答尽可能少的问题。这些卡通常为 8-16GB,但也可能更大,并且需要很长时间才能覆盖。
对我来说,卡在出厂后是否已被格式化并不重要,只要除了引导扇区和初始文件系统等之外,卡上没有任何有用的数据即可。脚本不应该关心这是什么类型的数据,无论是安全的、关键的还是情感/无用的数据,只要某人写给它某个时候自上次恢复出厂设置以来。
我想严格从命令行(最好是 bash)执行此操作,而不需要检查物理卡。