Linux下删除⽂件之彻底删除⽂件(shred)
linux删除⽬录很简单,很多⼈还是习惯⽤rmdir,不过⼀旦⽬录⾮空,就陷⼊深深的苦恼之中,现在使⽤rm -rf命令即可。直接rm就可以了,不过要加两个参数-rf 即:rm -rf ⽬录名字
删除⽬录、⽂件 rm(remove)
功能说明:删除⽂件或⽬录。
语法:rm [-dfirv][--help][--version][⽂件或⽬录...]
补充说明:执⾏rm指令可删除⽂件或⽬录,如欲删除⽬录必须加上参数”-r”,否则预设仅会删除⽂件。
参数:
-d或–directory  直接把欲删除的⽬录的硬连接数据删成0,删除该⽬录。
-f或–force  强制删除⽂件或⽬录。
-i或–interactive  删除既有⽂件或⽬录之前先询问⽤户。
-r或-R或–recursive  递归处理,将指定⽬录下的所有⽂件及⼦⽬录⼀并处理。
-v或–verbose  显⽰指令执⾏过程。
1 删除⽂件夹
de>rm -rf fileNamede>
-删除⽂件夹实例:
rm -rf /var/log/httpd/access
将会删除/var/log/httpd/access⽬录以及其下所有⽂件、⽂件夹
需要提醒的是:使⽤这个rm -rf的时候⼀定要格外⼩⼼,linux没有回收站的
2 删除⽂件
de>rm -f fileNamede>
使⽤ rm -rf 的时候⼀定要格外⼩⼼,linux没有回收站的
删除指定⽂件之外的其他⽂件
⼀、Linux下删除⽂件和⽂件夹常⽤命令如下:
删除⽂件: rm file
删除⽂件夹: rm -rf dir
需要注意的是, rmdir 只能够删除空⽂件夹。
⼆、删除制定⽂件(夹)之外的所有⽂件呢?
1、⽅法1,⽐较⿇烦的做法是:
复制需要保留的⽂件到其他⽂件夹,然后将该⽬录删除,然后将需要保留的移动回来。
mv keep ../ #保留⽂件(夹) keep
rm -rf * #删除当前⽂件夹⾥的所有⽂件
mv ../keep ./ #将原来的东西移动回来
2、⽅法2,需要在当前⽂件夹中进⾏:
rm -rf !(keep) #删除keep⽂件之外的所有⽂件
rm -rf !(keep1 | keep2) #删除keep1和keep2⽂件之外的所有⽂件
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等)linux删除子目录命令
-u, --remove 重写后截短并移除⽂件-v, --verbose 显⽰进度
-z, --zero - add ⽤0覆盖数据
–help 显⽰帮助
–version 显⽰版本信息