约 4770 字

约 24 分钟

#Bash 的 shred 命令

shred [OPTION]... FILE...

功能

粉碎文件数据(使用随机数据多次覆盖磁盘数据)以避免被恢复。

类型

可执行文件(/usr/bin/shred),属于 coreutils。

参数

  • OPTION 选项:
    • -f, --force - 强制执行,如有必要,会修改文件的权限
    • -n, --iterations=N - 覆盖 N 次数据;默认为 3
    • --random-source=FILE - 从 FILE 文件获取随机数据
    • -s, --size=N - 粉碎 N 字节数据;支持 K M G 等单位后缀
    • -u - 粉碎后删除文件
    • --remove[=HOW] - 粉碎后删除文件,并指定怎样删除目录
      • unlink - 使用标准的 unlink 调用
      • wipe - 并且首先对名称中的字节进行混淆
      • wipesync - 并且将混淆后的字节同步到设备(默认)
    • -v, --verbose - 显示进度
    • -x, --exact - 不要将文件大小向上取整到一个标准块;对于非普通文件默认开启
    • -z, --zero - 最后额外使用全零覆盖一次
    • --help - 显示帮助
    • --version - 显示版本
  • FILE - 文件列表

#示例

$ shred 1.txt               # 覆盖 1.txt 的数据 3 次(默认)
$ shred -n 10 -z 1.txt      # 覆盖 1.txt 的数据 10 次,然后用全零额外覆盖一次
$ shred -u 1.txt            # 覆盖 1.txt 的数据,然后将其删除 

#相关命令

命令说明
rm删除文件
rmdir删除目录
unlink删除文件

#推荐阅读

#手册

更新: 2026/1/18

作者: PlanC

创建: 2025/12/4