Linux如何安全删除文件保证不会再生?

来源:http://www.upandashi.com/ 时间:2019-11-01 20:04:17 责任编辑:admin

  对于回收站的东西,我们有时候会希望它可以还原,而有时候则希望它消失得无影无踪无法还原。在Linux系统中,删除文件是用rm命令的,这样的删除方式有可能会被复原,想要完全删除,则需要透过一系列的手法。以下,就是清楚Linux系统文件,而不会留下痕迹和再次生成的方法。

  相关推荐:U盘启动工具
 

  整地从你的 Linux 系统中删除文件或者文件夹。以下提到的工具可以完全地删除数据,因此那些恢复工具很难找到真实数据的痕迹然后恢复它。
 

  1.Secure-Delete
 

  Secure-Delete 是一组为 Linux 操作系统而生的工具集合,他们为永久删除文件提供了先进的技术支持。一旦 Secure-Delete 安装在各种 Linux 系统上,就提供了如下的四个命令:
 

  srm
 

  smem
 

  sfill
 

  sswap
 

  在 Ubuntu 的终端中运行如下命令安装此工具:
 

  sudo apt-get install secure-delete
 

  在 RHEL,Fedora 或者 CentOS 中运行如下命令安装此工具:
 

  sudo yum install secure-delete
 

\
 

  “srm” 命令的工作方式和 "rm" 命令类似,但是它不仅仅是删除文件,它首先使用一些随机的数据重写数次文件,然后彻底地删除此文件。这个命令的语法是相当地简单,仅仅指定要删除的文件或者目录,然后它会负责此任务。
 

  sudo srm /home/aun/Documents/xueo/1.png
 

  "sfill" 检测在指定的分区或者目录被标记为空闲或者可用的空间,然后使用它自身的算法用一些随机数据填充。因此它保证了在此分区没有可以恢复的文件或者文件夹。
 

  sudo sfill /home
 

  "sswap" 命令用来安全地清除你的交换分区。交换分区用来存放运行程序的数据。首先我们需要运行如下命令来找到你的交换分区。
 

  cat /proc/swaps
 

  如下是上述命令的输出示例:
 

  aun@eagle:~$ cat /proc/swaps
 

  FilenameTypeSizeUsedPriority
 

  /dev/sda5 partition 208486071216-1
 

  从现在起,你可以看到你的交换分区设置在哪个分区,然后使用如下命令安全地清除。替换 "/dev/sda5" 部分为你的交换分区名字。
 

  sudo sswap /dev/sda5
 

  “smem” 用来清理在内存中的内容,虽然当系统重启或者关机时会清理随机存取存储器(RAM)中的内容,但是内存中仍然会保留一些数据的残留痕迹。这个命令提供安全的内存清理,简单地在终端中运行 smem 命令即可。
 

  smem
 

  2.Shred
 

  "shred" 命令以一种不可恢复的方式来销毁文件或者文件夹的内容。它使用随机生成的数据模式来持续覆写文件,因此很难恢复任意的被销毁的数据,即使是那些黑客或者窃贼使用高水平的数据恢复工具或者设备。Shred 默认安装在所有 Linux 发行版中,如果你想,你可以运行如下命令来找到它的安装目录:
 

  aun@eagle:~$ whereis shred
 

  shred:/usr/bin/shred /usr/share/man/man1/shred.1.gz
 

  使用 shred 工具运行如下命令来删除文件:
 

  shred /home/aun/Documents/xueo/1.png
 

  使用 shred 运行如下命令来删除任意的分区,用你期望的分区来替换分区名字。
 

  shred /dev/sda5
 

  Shred 默认情况下使用随机内容重写数据 25 次。如果你想它重写文件更多次数,可以使用 "shred -n" 选项来简单地指定你所期望的次数。
 

  shred -n 100 filename
 

  如果你想在重写后截断或者删除文件,使用 "shred -u" 选项:
 

  shred -u filename
 

  3.dd
 

  这个命令起初是用于磁盘克隆的。它用于将一个分区或者一个磁盘复制到另一个分区或者磁盘。但是它还可用于安全地清除硬盘或者分区的内容。运行如下命令使用随机数据来重写你的当前数据。你不需要安装 dd 命令,所有的 Linux 分发版都已经包含了此命令。
 

  sudo dd if=/dev/random of=/dev/sda
 

  你也可以覆写磁盘或者分区中的内容,只需要简单地将所有替换为 “zero”。
 

  sudo dd if=/dev/zero of=/dev/sda
 

  4.Wipe
 

  Wipe 起初开发的目的是从磁性介质中安全地擦除文件。这个命令行工具使用特殊的模式来重复地写文件。它使用 fsync() 调用和/或 O_SYNC 位来强制访问磁盘,并且使用 Gutmann 算法来重复地写。你可以使用此命令删除单个文件、文件夹或者整个磁盘的内容,但是使用 wipe 命令来删除整个磁盘的模式会耗费大量的时间。另外,安装和使用这个工具相当容易。
 

  在 ubuntu 的终端中运行如下命令来安装 wipe。
 

  sudo aptitude install wipe
 

  使用如下命令在 RedHat Linux,Centos 或者 Fedora 中安装 Wipe:
 

  sudo yum install wipe
 

  一旦安装完成,在终端中运行如下命令来获得完整的可用选项列表:
 

  man wipe
 

  删除任意文件或者目录:
 

  wipe filename
 

  运行如下命令来安全地移除 tmp 分区:
 

  wipe -r /tmp
 

  使用如下的命令来删除完整分区的内容(替换分区名字为你所期望的分区)。
 

  wipe /dev/sda1
 

  上面的这几个工具占用内存都很小,所以不会影响系统的性能和使用,对于想要保护隐私的用户来说是非常方便的。更多攻略教程,请关注www.upandashi.com

  • 使用教程
  • PE教程
  • BIOS设置教程
  • 视频教程
  • 常见问题
Win7系统如何提高开机速度?提高开机速度的三种方法步骤
如何加快Win7系统电脑开机速度·Win7系统电脑使用时间久了,我们会发现系统的开机速度会慢慢变长,每次开机都要等上一会时间很是烦人,那么...
U盘启动项在哪里?BIOS设置u盘启动的方法
BIOS如何设置u盘启动·在我们的日常生活和工作中,需要频繁使用到电脑,而随着使用时间的推移,电脑会堆积越来越多的系统垃圾,也有可能会...