在 Linux 中,文件可以删除,但仍然可以恢复。这些是您真正希望它们消失时要做的事情。
rm 命令很容易让文件从您的文件列表中消失,但它实际上会做什么以及如何确保无法恢复已删除的文件没有了吗?
关于在 Linux 中完全删除文件的基本概念
要了解使用 rm 从 Linux 系统中删除文件时会发生什么,首先要考虑 inode-跟踪所有文件属性(通常称为“元数据”)的有吸引力的数据结构。 ")-文件的描述。这包括文件的名称、所有者和组,设置了哪些权限以及可以在驱动器上找到文件内容的位置。
接下来,了解Linux目录。尽管它们具有目录的外观和属性(即仅包含文件),但它们实际上只是文件并且仅包含它们所包含文件的名称和 inode 编号。因此,最好考虑 Linux 中的目录和文件,例如文件柜中的文件夹和文书工作。
实际文件的内容通常以块的形式存储在驱动器的其他位置。因此,当您删除一个文件时,该文件的 inode 将被释放,并且目录文件会调整以删除其对刚刚删除的文件的引用。该文件的数据将保留在驱动器位置,然后将被提供以供重复使用。
如何以及何时在 Linux 中删除文件?
在大多数情况下,删除文件的内容是否保留在驱动器上并不重要。它们通常是您不再需要的文件,例如上个月的每周报告、已被更好的脚本替换的以前版本的脚本等。当这些文件可能产生问题时,您可以使用许多工具来减少其他人恢复它们的可能性。
切碎
shred 命令会覆盖文件并删除它。覆盖将确保包含旧内容的数据块现在具有其他内容。请注意,默认情况下,内容会在多次写入中被覆盖。下面使用的选项包括 z(使用数字 0 添加最后一个覆盖)、v(显示发生了什么)和 u(覆盖完成后截断然后删除文件)。这些选项使文件的内容完全被覆盖。
$ shred-zvu passwords-save
shred: passwords-save: pass 1/4 (random).
shred: passwords-save: pass 2/4 (random).
shred: passwords-save: pass 3/4 (random).
粉碎:密码保存:通过 4/4 (000000) 。
粉碎:密码保存:删除
粉碎:密码保存:重命名为 00000000000000
粉碎:密码保存:删除
擦拭
wipe 命令仅适用于 磁性媒体,不适用于硬盘驱动器。它与所谓的“磁力显微镜”一起工作,允许其他人最终恢复两三个“数据”,这些数据可以写入您的驱动器,但如前所述。上面它仅适用于磁性介质,不适用于硬盘驱动器,并且并非所有驱动器都符合条件,您可以确定您拥有的系统驱动器类型并查看擦除是否可以与它们一起使用。通过查看此命令的结果,放置 0=SSD(磁性介质)和 1=HDD(硬盘驱动器):
$cat/sys/block/sda/queue/rotation
0
下面是操作时擦除命令的示例:
$wipe-rfi temp
进入目录'temp'
擦除mno,通过34(34)
擦除Mno文件(340字节)
擦除fileA,通过34(0)
擦除 FileA 文件(808 字节)
擦除 klm,通过 34(0)
擦除文件 klm(1056 字节)
擦除 lmn,通过 34(0)
擦除文件 lmn(3827 字节)
擦除文件 C,通过 34 (0)
擦除文件文件 (842 字节)
擦除 myfiles.tar,通过 34 (0)
擦除文件 myfiles.tar (122880 字节)
擦除fileB, pass 34 (0)
FileB 文件(5092 字节)已擦除
回到目录/home/shs
操作完成。
7 các tập tinwiped và 0 tập tin này bị bỏ qua trong một thư mục, 0 符号链接已删除, nhưng không theo sau, 0 lỗi đã thực hiện
在本例中,r 将收到一个擦除命令以递归到目录(如果存在),f 将避免验证每个文件是否已损坏,并且我让命令在详细信息(“i”是“informative”)。 ")。
安全删除
另一个完全删除的工具te 文件被称为“secure-delete”,尽管包将添加到您的系统的命令称为 srm,如“secure rm”。
这里是一个如何使用这个工具的例子:
$ srm-vz BoD_meeting
Đang dùng/dev/urandom cho dữ liệu nhập vào。
擦除模式是安全的(38 个特殊通行证)
擦除 BoD_meeting ************************************ ***** 删除了 BoD_meeting 。完成文件
记下为确保安全删除文件而进行的传递次数。
检查您的文件删除
因为如何安全地从Linux系统中删除文件有几个选项,下面的例子将运行一个简单的测试——创建同一个文件的一些副本并安全地删除它们上面讨论了该工具。以下是如何使用名为 foremost 的工具尝试从受影响的分区恢复相同类型的文件。
$ shred-zvu penguin1.png
$wipe-fi penguin2.png
$ srm-vz penguin3.png
$ sudo foremost-i/dev/sda1-t png-o/root/获救
处理:/dev/sda1
| ************************************************* * *****************************
****************** ****************************************************** ************
************************************* ****************** ******************************
** ****************************************************** ******************************
******************* ******************************* ******************* ***********
************************************ *************** ******************************
*** ***************************************************** *** ******************************
************************ ****************************************************** ************
************************************* ************* ******************************
**** ****************************************************** ***************************
********************* ***************************************************** *********
********************************* ***************** ******************************
****************************************************** ******************************
***************** ************************************************************ *************
*************************** |
foremost 命令需要几分钟才能运行。此命令在示例中找到超过 51,000 个 .png 文件。无论如何,应该注意的是,在恢复过程中从驱动器中取出的文件不会具有原始名称,因为在删除文件时修改了受影响的文件夹文件时它们会丢失。相反,您恢复的文件将与 105210720.png 同名。
最前面的命令可以选择要恢复的文件类型。查看man页面了解详情。请记住,它不能将您的搜索限制在特定目录,因为此时文件夹不再相关。
重要提示
如果您想测试从系统中完全删除文件,然后使用最重要的工具查看可以恢复的内容,请考虑恢复文件以提取媒体或至少不简单删除文件,当您测试它们时,或者基本上,您将在下一次测试中将恢复文件的数量增加一倍。恢复的文件独立于原始文件,即使它们具有相同的内容。
查看更多:
- 如何在 Linux 中复制和重命名文件
- 操作每个人都必须知道的最基本文件和文件夹的 7 个命令
- 使用命令行界面在 Linux 中搜索文件和目录
评论