shred 是一个用于安全删除文件的 Linux 命令,它会通过多次覆写文件内容来确保数据无法恢复。与普通的 rm 删除不同,shred 能有效防止专业数据恢复工具恢复已删除的文件。
常用选项
-
-n, --iterations=N
指定覆写次数(默认为3次)。例如:
shred -n 5 file.txt会将文件覆写5次。 -
-z, --zero
最后用0填充文件以隐藏覆写痕迹。例如:
shred -z file.txt -
-u, --remove
覆写后截断并删除文件。例如:
shred -u file.txt -
-v, --verbose
显示操作进度。例如:
shred -v file.txt -
-f, --force
强制操作,必要时更改权限。例如:
shred -f file.txt
高级用法
-
覆写整个设备
bashshred -v /dev/sdX注意:这会销毁指定设备上的所有数据。
-
安全删除多个文件
bashshred -uvz file1.txt file2.txt file3.txt -
指定随机数据源
bashshred --random-source=/dev/urandom file.txt
使用场景
- 在出售或丢弃硬盘前安全擦除敏感数据
- 需要永久删除包含机密信息的文件
- 处理临时文件确保不留痕迹
注意事项
替代命令
对于现代文件系统,也可以考虑使用:
bash
wipe # 专门的安全删除工具
srm # secure remove 命令
dd if=/dev/zero of=file # 用零填充文件
请谨慎使用此命令,特别是在生产环境或重要数据上。