Linux彻底删除文件的命令

发布时间:2019-11-28编辑:脚本学堂
本文介绍下,在linux操作系统中,彻底删除文件的命令shred的用法,感兴趣的朋友参考学习下。

本节内容:
linux彻底删除文件的命令 shred命令的用法

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

在linux系统中彻底删除一些文件,可以使用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   显示版本信息