CentOS中彻底删除文件
时间:2014-02-24 16:03 来源:Thinking In Linux 作者:Thinking In Linux
我们知道在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 显示版本信息
(责任编辑:IT)
我们知道在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的详细参数: -n, --iterations=N 重写N次,默认为3次 --random-source=FILE 从指定文件读取数据 -s, --size=N 将文件粉碎为固定大小 (可使用后缀如K、M、C等) -u, --remove 重写后截短并移除文件 -v, --verbose 显示进度 -z, --zero - add 用0覆盖数据 –help 显示帮助 –version 显示版本信息 (责任编辑:IT) |