linux下彻底删除文件

2013年6月21日 发表评论 阅读评论

在linux及类linux平台下删除文件都是rm命令,但rm命令并非真的空除了该数据(可能过能debugfs 、ext3grep等工具恢复)。不过一般情况下,很多的数据也不是很重要,所以不怕被人恢复出来。而对于一些安全性要求较高的数据,我们可以借助shred命令彻底从服务器上删除。

一、原理

rm删除的原理是通过释放文件占用的索引节点和数据块达到 “删除”,而shred所实现的删除,除了具有rm所谓的删除外,还通过重复复写要删除掉的文件所占用的节点和数据块。通过多次覆写达到无法恢复。

二、用法

$ shred -u file

shred会用一些随机内容覆盖文件所在的节点和数据块,并删除文件(-u参数)。
如果想清除的更彻底一点可以加-z 参数,意思是先用随机数据填充,最后再用0填充。

$ shred -u -z file

另外shred还可以清除整个分区或磁盘,比如想彻底清除/dev/sdb1分区的内容可以这样:

$ shred /dev/sdb1   (注意不要加-u参数)

shred详细的用法如下:

-f, --force   更改权限允许写入(如有必要)
-n, --iterations=N   重写N次,默认为3次
--random-source=FILE 从指定文件读取数据
-s, --size=N  将文件粉碎为固定大小 (可使用后缀如K、M、C等)
-u, --remove   重写后截短并移除文件
-v, --verbose   显示进度
-z, --zero - add  用0覆盖数据
-help  显示帮助
-version   显示版本信息




本站的发展离不开您的资助,金额随意,欢迎来赏!

You can donate through PayPal.
My paypal id: itybku@139.com
Paypal page: https://www.paypal.me/361way

分类: Linux/unix/mac 标签:
  1. 本文目前尚无任何评论.
  1. 本文目前尚无任何 trackbacks 和 pingbacks.