Linux shred 命令初学者教程(5 个示例)
在此页
- Linux 粉碎命令
- Q1。切碎命令如何工作?
- Q2。如何更改文件被覆盖的次数?
- Q3。如何确保 Shred 也删除文件?
- Q4。如何使用切碎有选择地覆盖?
- Q5。如何告诉shred删除的方式?
- 结论
无论您使用何种操作系统,如果您对计算机取证不感兴趣或者通常是专业人士/爱好者,您可能会惊讶地发现,当您删除文件时,文件内容实际上并没有立即从硬盘中删除。
但是,有一些工具可以确保数据变得不可恢复。在 Linux 中,有一个命令行实用程序 - 称为 shred - 专为此目的而构建。
在本教程中,我们将使用一些易于理解的示例来讨论切碎。但在我们这样做之前,值得一提的是,本文中的所有示例都已经在 Ubuntu 18.04 LTS 机器和 Debian 10 上进行了测试,但它们应该也适用于其他 Linux 发行版,如 CentOS、Open SuSE、Fedora 和 Gentoo。
Linux 切碎命令
shred 命令覆盖文件以使原始内容不可恢复。以下是命令语法:
shred [OPTION]... FILE...
以下是工具手册页对其的解释:
shred - overwrite a file to hide its contents, and optionally delete it
Overwrite the specified FILE(s) repeatedly, in order to make it harder for even very expensive
hardware probing to recover the data.
以下是一些 Q&A 风格的示例,可以让您对 shred 命令的工作原理有一个很好的了解。
Q1。切碎命令如何工作?
如果你只是想用它来覆盖一个文件,那么你所要做的就是以一个文件名作为输入来执行 shred。
shred [filename]
比如我用在file1.txt上:
shred file1.txt
下面的截图清楚地显示了被这个工具覆盖的文件内容。

Q2。如何更改文件被覆盖的次数?
默认情况下,shred 会覆盖一个文件 3 次。但是,如果需要,您可以使用 -n 命令行选项更改此数字。
例如,要确保该工具覆盖文件 file1.txt 10 次,请运行以下命令:
shred -n 10 file1.txt
Q3.如何确保 Shred 也删除文件?
如果您希望 shred 不仅覆盖而且删除文件,请使用 -u 命令行选项。
例如,我尝试以下列方式运行 shred 命令:
shred -u file1.txt
并且可以确认文件确实被删除了。

Q4.如何使用切碎有选择地覆盖?
假设要求只覆盖文件中一定数量的字节。这可以使用 -s 命令行选项来完成,这需要您将字节数作为输入传递。
例如,我的文件包含以下文本:
Howtoforge
FAQForge
Linux
我希望 shred 只覆盖 10 个字节。因此,为此,我通过以下方式使用了 shred:
shred -s10 file1.txt
下面是该操作如何影响文件内容:
?uTw?????
FAQForge
Linux
所以你可以看到只有前 10 个字节被 shred 命令覆盖为垃圾。
Q5.如何告诉shred删除的方式?
我们已经讨论了 -u 命令行选项,它告诉 shred 除了覆盖文件外还删除文件。但是还有另一个选项 - 称为删除 - 允许您告诉 shred 您希望它删除文件的方式。
以下是手册页如何解释删除选项:
--remove[=HOW]
like -u but give control on HOW to delete
Delete FILE(s) if --remove (-u) is specified. The default is not to
remove the files because it is common to operate on device files like
/dev/hda, and those files usually should not be removed. The optional
HOW parameter indicates how to remove a directory entry: 'unlink' =>
use a standard unlink call. 'wipe' => also first obfuscate bytes in
the name. 'wipesync' => also sync each obfuscated byte to disk. The
default mode is 'wipesync', but note it can be expensive.
结论
您可能同意,如果您的工作涉及处理(尤其是删除)敏感数据,则 shred 命令是一个重要的工具。在本教程中,我们讨论了一些命令行选项 shred offers。完成这些练习后,请前往工具手册页了解更多信息。