LinuxEye - Linux系统教程

LinuxEye - Linux系统教程

当前位置: 主页 > Linux教程 >

Linux中彻底删除文件

时间:2012-12-18 10:15来源:linuxsong 编辑:linuxsong 点击:
我们知道在Linux中删除文件一般使用 rm , 但是rm命令并不会真的清空保存该文件的数据块的内容,而只是释放了该文件所占用的索引节点和数据块。因此用rm删除的文件是可以通过一些方
我们知道在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   显示版本信息

转载请保留固定链接: https://linuxeye.com/Linux/1061.html

------分隔线----------------------------
标签:linux彻底删除文件
栏目列表
推荐内容