Linux彻底删除文件的命令:shred


Linux #shred2012-12-04 16:36
我们知道在Linux中删除文件一般使用rm, 但是rm命令并不会真的清空保存该文件的数据块的内容,而只是释放了该文件所占用的索引节点和数据块。因此用rm删除的文件是可以通过一些方法恢复的(比如可以用debugfs恢复,具体方法Google之)。


有些时候我们要彻底删除一些文件,可以使用shred命令来实现,shred是coreutils的一部分,所以Linux中基本都会有这个命令。


shred彻底删除文件的方法:


$ 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   显示版本信息

相关文章

粤ICP备11097351号-1