覆盖指定文件的原有内容】)
Linux平台dd 命令dd执行例子参数的含义说明实际执行效果执行输出的解读为什么执行这个命令dd用空数据零字节覆盖指定文件的原有内容但保持文件大小不变。执行例子**[roottest /]# dd if/dev/zero oftest.dat bs1 count$(stat -c%s test.dat) convnotrunc74980 レコード入力74980 レコード出力7498 bytes (7.5 kB, 7.3 KiB) copied, 0.0211044 s, 355 kB/s**参数的含义说明参数含义说明if/dev/zero输入文件/dev/zero 是一个特殊设备文件读取它会不断产生 0x00 空字节二进制零oftest.dat输出文件要操作的目标文件bs1块大小每次读写 1 字节count$(stat -c%s test.dat)块数量stat -c%s 获取文件的大小字节数这里结果是 7498convnotrunc不截断文件关键参数表示不删除/截断原文件只是覆盖内容实际执行效果获取文件大小stat -c%s test.dat 得到 7498字节执行覆盖dd 从 /dev/zero 读取 7498 次每次 1 字节写入到目标文件中结果文件的所有原始数据被替换为 0x00但文件大小不变仍是 7498 字节文件权限、时间戳等信息不受影响因为是覆盖内容执行输出的解读74980 レコード入力 ← 读取了 7498 个块每个块 1 字节74980 レコード出力 ← 写入了 7498 个块7498 bytes (7.5 kB, 7.3 KiB) copied, 0.0211044 s, 355 kB/s写入数据量7498 字节约 7.3 KB耗时0.021 秒速度355 KB/s因为 bs1 太小效率很低为什么执行这个命令常见用途清除文件敏感数据如果test.dat 包含密码、密钥、业务敏感信息直接删除文件并不能彻底清除磁盘上的数据可能被恢复用 dd 将其内容全部覆写为 0可以防止数据被恢复convnotrunc 确保文件大小不变只替换内容