Ubuntu shred 命令详解


shred 能撕碎-反复覆写指定 FILE 文件,以使硬件探测恢复数据变得更困难,甚至更昂贵。

另请参阅: mkdir     rm     touch

基本用法     详细用法

shred ./filename
			

基本语法

shred [OPTION]... FILE...
			

若 FILE 为 -,则会 shred 标准输出。

 

重要假设


文件系统会原位覆写数据。

这是传统处理方式,但许多现代文件系统的设计并不能满足这一假定。

以下是 shred 无效或不保证在所有文件系统模式下有效的,文件系统示例:

01、 日志结构或 journal 文件系统,譬如:AIX 和 Solaris (及 JFS、ReiserFS、XFS、Ext3 等) 提供的那些文件系统

02、 即使某些写入失败,也会写入冗余数据并继续的文件系统,譬如:基于 RAID 的文件系统

03、 制作快照的文件系统,譬如:Network Appliance 的 NFS 服务器

04、 缓存在临时位置的文件系统,譬如:NFS v3 客户端

05、 压缩文件系统

在 Ext3 文件系统情况下,上述声明仅适用于 data=journal 模式 (且 shred 因此效果有限),该模式除元数据外,还会记录文件数据。

在 data=ordered (默认) 和 data=writeback 模式中,shred 工作如常。

通过在 /etc/fstab 文件中为特定文件系统的 mount 选项添加 data=something 选项可更改 Ext3 journal 模式,如 mount man page (man mount) 文档所述。

此外,文件系统备份和远程镜像可能包含无法被移除的文件副本,这将允许稍后恢复碎片文件。

Options 选项

参数 EN 解释 中文翻译 备注
-f, --force change permissions to allow writing if necessary 更改权限以允许写操作,若有必要
-n, --iterations=N overwrite N times instead of the default (3) 覆盖 N 次,而不是默认 3 次
--random-source=FILE get random bytes from FILE 从 FILE 获取随机字节
-s, --size=N shred this many bytes (suffixes like K, M, G accepted) shred 这么多字节 (接受后缀,如:K、M、G)
-u truncate and remove file after overwriting 覆盖后截取并移除文件
--remove[=HOW] like -u but give control on HOW to delete

类似 -u,但可给定控制如何删除。

默认不会删除文件,因为经常操作像 /dev/hda 的设备文件,且这些文件通常不应被移除。

可选 HOW 参数指示了如何移除目录条目,譬如:

'unlink' => 使用标准 unlink 调用。

'wipe' => 会先在名称中混淆字节。

'wipesync' => 会将每个混淆字节同步到磁盘 (默认模式,可能很昂贵)。

-v, --verbose show progress 展示进度
-x, --exact do not round file sizes up to the next full block; this is the default for non-regular files 不要将文件尺寸舍入到下一个完整块; 这是非-常规文件的默认值
-z, --zero add a final overwrite with zeros to hide shredding 把 0 添加到最终覆写,以隐藏碎化
--help display this help and exit 显示帮助并退出
--version output version information and exit 输出版本信息并退出

基本用法

功能 命令 文字解释 示例 示例解释
帮助 shred --help 展示帮助信息
版本 shred --version 展示版本信息

 

版权声明: 本文为独家原创稿件,版权归 乐数软件 ,未经许可不得转载。