如何使用shred Linux命令?如何使用shred Linux命令?如何使用shred Linux命令?如何使用shred Linux命令?
  • 文章
  • 正则表达式
    • 工具
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容
发表 admin at 2025年2月28日
类别
  • 未分类
标签

如何使用shred Linux命令?

Linux中的shred命令是一个强大的工具,它允许用户永久删除文件并使它们不可恢复。当您想要确保从系统中完全删除敏感数据时,此命令特别有用。在本文中,我们将探讨如何使用 shred 命令,并提供示例和输出。

了解 shred 命令

在深入研究示例之前,了解 shred 命令的作用非常重要。当您在 Linux 中使用 rm 命令删除文件时,该文件实际上并未从磁盘中删除。相反,文件占用的空间被标记为可重用,但数据会保留下来,直到被新数据覆盖。这意味着使用正确的工具,可以恢复已删除的文件。

另一方面,shred 命令会在删除文件之前覆盖文件的数据,从而使恢复变得更加困难(如果不是不可能的话)。默认情况下,shred 会覆盖文件 3 次,但可以使用 -n 选项进行调整。

shred的基本用法

shred 命令的基本语法如下 -

shred [options] file_name

这是一个简单的 -

shred document.txt

在此示例中,shred 命令将覆盖 document.txt 3 次。该命令执行后,document.txt 中的数据将被随机位数据替换。

切碎命令选项

shred 命令带有几个选项,允许您自定义其行为 -

  • −n - 此选项允许您指定数据应被覆盖的次数。例如,shred -n 5 document.txt 将覆盖 document.txt 五次。

  • −u - 此选项告诉 shred 在覆盖文件后将其删除。默认情况下,shred 不会删除文件,只会覆盖数据。要覆盖然后删除文件,您可以使用 shred -u document.txt。

  • −z - 此选项添加最终的零覆盖以隐藏粉碎。如果您不想让别人知道文件已被粉碎,这会很有用。例如,shred -z document.txt 将覆盖 document.txt 三次,最后一次覆盖零。

  • −v - 此选项启用详细模式,显示操作的进度。例如,shred -v document.txt 将显示粉碎过程的进度。

这是一个使用所有这些选项的示例 -

shred −n 5 −u −z −v document.txt

此命令将覆盖 document.txt 五次,删除该文件,最后一次用零覆盖它,并显示操作进度。

让我们深入研究更多示例及其各自的输出

示例 1:基本 shred 命令

命令-

shred file1.txt

该命令将使用随机数据覆盖 file1.txt 3 次。除非发生错误,否则终端不会有任何输出。

示例 2:指定覆盖次数

命令-

shred −n 10 file2.txt

此命令将使用随机数据覆盖 file2.txt 十次。同样,除非发生错误,否则不会有任何输出。

示例 3:覆盖和删除文件

命令-

shred −u file3.txt

该命令将覆盖 file3.txt 3 次,然后将其删除。除非发生错误,否则不会有任何输出。

示例 4:用零覆盖

命令-

shred −z file4.txt

此命令将使用随机数据覆盖 file4.txt 三次,然后最后一次使用零。除非发生错误,否则不会有任何输出。

示例 5:详细模式

命令-

shred −v file5.txt

输出−

shred: file5.txt: pass 1/3 (random)...
shred: file5.txt: pass 2/3 (random)...
shred: file5.txt: pass 3/3 (random)...

该命令将使用随机数据覆盖 file5.txt 3 次并显示操作进度。

示例 6:使用所有选项

命令-

shred −n 5 −u −z −v file6.txt

输出−

shred: file6.txt: pass 1/6 (random)...
shred: file6.txt: pass 2/6 (random)...
shred: file6.txt: pass 3/6 (random)...
shred: file6.txt: pass 4/6 (random)...
shred: file6.txt: pass 5/6 (random)...
shred: file6.txt: pass 6/6 (000000)...
shred: file6.txt: removing
shred: file6.txt: renamed to 00000000000000
shred: 00000000000000: removed

此命令将使用随机数据覆盖 file6.txt 五次,删除该文件,最后一次用零覆盖它,并显示操作进度。

示例 7:粉碎多个文件

命令-

shred −v file1.txt file2.txt file3.txt

输出−

shred: file1.txt: pass 1/3 (random)...
shred: file1.txt: pass 2/3 (random)...
shred: file1.txt: pass 3/3 (random)...
shred: file2.txt: pass 1/3 (random)...
shred: file2.txt: pass 2/3 (random)...
shred: file2.txt: pass 3/3 (random)...
shred: file3.txt: pass 1/3 (random)...
shred: file3.txt: pass 2/3 (random)...
shred: file3.txt: pass 3/3 (random)...

该命令将使用随机数据分别覆盖 file1.txt、file2.txt 和 file3.txt 3 次,并显示操作进度。

示例 8:粉碎目录(不推荐)

命令-

shred −v −u directory_name/*

输出−

shred: directory_name/file1.txt: pass 1/3 (random)...
shred: directory_name/file1.txt: pass 2/3 (random)...
shred: directory_name/file1.txt: pass 3/3 (random)...
shred: directory_name/file1.txt: removing
shred: directory_name/file1.txt: renamed to 00000000000000
shred: 00000000000000: removed
...

该命令将用随机数据覆盖directory_name中的所有文件3次,删除文件,并显示操作进度。请注意,shred 不能用于安全地删除目录本身,因为它是为常规文件设计的。

示例 9:粉碎具有更多覆盖和零的文件

命令-

shred −n 10 −z −v file4.txt

输出−

shred: file4.txt: pass 1/11 (random)...
shred: file4.txt: pass 2/11 (random)...
...
shred: file4.txt: pass 10/11 (random)...
shred: file4.txt: pass 11/11 (000000)...

此命令将用随机数据覆盖 file4.txt 十次,最后用零覆盖一次,并显示操作进度。

示例 10:粉碎仅包含随机数据的文件

命令-

shred −n 5 −v file5.txt

输出−

shred: file5.txt: pass 1/5 (random)...
shred: file5.txt: pass 2/5 (random)...
shred: file5.txt: pass 3/5 (random)...
shred: file5.txt: pass 4/5 (random)...
shred: file5.txt: pass 5/5 (random)...

该命令将使用随机数据覆盖 file5.txt 五次并显示操作进度。

请注意,实际输出可能会有所不同,具体取决于 shred 命令的版本和您使用的文件系统。

结论

shred 命令是确保永久删除敏感数据的强大工具。但是,请务必注意,粉碎对于某些文件系统可能无效,包括某些类型的日志文件系统、基于 RAID 的文件系统以及在临时位置缓存的文件系统。始终确保您了解所使用工具的局限性,并考虑多层安全性来保护敏感数据。

©2015-2025 艾丽卡 support@alaica.com