shred 命令
用法:shred [选项] 文件 [...]
参数说明:
-f, --force 有需要时强迫程序可写入文件
-n, --iterations=N 自行指定重复覆盖的次数 (默认为 25 次)
-s, --size=N 覆盖指定的字节数目 (可接受 K、M、G 等等的单位)
-u, --remove 覆盖后会截断及删除该文件
-v, --verbose 显示进度
-x, --exact 不将文件大小增加至最接近的块大小
-z, --zero 最后一次会使用 0 字节进行覆盖来隐藏覆盖动作
--help 显示此帮助信息并离开
--version 显示版本信息并离开
重复覆盖<文件>,使得即使是昂贵的硬件探测仪器也难以将数据复原。
如果加上 --remove (-u) 选项表示删除<文件>。
文件系统会在原来的位置覆盖指定的数据。传统的文件系统符合此条件,但许多现代的文件系统都不符合条件。以下是 shred 无效的文件系统的例子:
● 有纪录结构或是日志式文件系统,像 AIX 及 Solaris 使用的文件系统 (以及 JFS、ReiserFS、XFS、Ext3 等等)
● 会重复写入数据,及即使一部份写入动作失败后仍可继续的文件系统,像使用 RAID 的文件系统
● 会不时进行快照纪录的文件系统,像 Network Applicance 的 NFS 服务器
● 会将快取记忆放入暂存位置的文件系统,像 NFS 第 3 版本的客户端程序
● 会压缩数据的文件系统
另外,文件系统的备份及远程的 mirror 都可能所有该文件的复制本,这些复制本都是无法删除的,而且可能令已经用 shred 处理过的文件恢复原状。