Linux下快速批量删除文件的方法(linux批量删除文件)

Linux系统中非常“冷门”,有时候我们需要删除某些不需要的文件,特别是大量的文件,没必要一个一个地删除,这里一下介绍一下Linux下快速批量删除文件的方法。

#### 一、rm和rmdir 命令

先来介绍最简单的rm 和 rmdir 命令,删除文件用rm,而删除空目录则需要使用rmdir命令,它们的语法如下:

rm file
rm -f file
rm -i file

其中-f表示强制删除,-i 表示交互式删除,也就是说删除前会询问你是否确实要删除,类似Windows系统下的“是否真的要删除”询问,多有文件时,可在rm 命令后使用通配符:

rm *.txt
rm data/*.c

上述命令分别标识了删除“当前目录”以及“data”子目录中的扩展名为“txt”和“c”的文件。

#### 二、find 命令

假设有一个名为“study”的目录,其中有几百,几千个文件和子目录,如果你想删除其中以“.obsolete”结尾的文件,则可使用find 命令如下:

find ./study -name "*.obsolete" -exec rm -rf {} \;

上述命令所做的事情是从./study目录开始,查找匹配“*.obsolete”模式的文件,然后执行rm -rf命令来删除这些文件,如果你想要的是寻找文件的话,则可将“rm -rf”替换为“ls -l”,这样会显示所有符合条件的文件的详细信息,而不是删除这些文件。

#### 三、xargs 命令

xargs 命令也是常用的批量删除文件的方法,但xargs命令比rm更为强大,xargs在传送参数时可以一次处理比rm更多的文件, 以提高批量删除效率:

find ./study -name "*.obsolete" | xargs rm -rf

#### 四、shred 命令

有时你想删除某些敏感文件,可以使用shred 命令,该命令可以彻底删除指定文件,使该文件无法还原,其语法如下:

shred -n 10 -z -u file

其中-n 指定覆盖文件的次数,-z表示最后一次也将文件内容填充为0,-u 表示将文件删除,只留下一个空档案。

#### 五、总结

本文介绍了Linux下快速批量删除文件的几种方法,其中rm和rmdir两个命令最简单,但是只能删除单个文件,而find可以搜索文件并批量删除,同时xargs可以提高文件删除效率;如果需要彻底删除某些敏感文件则可以使用shred 命令。


数据运维技术 » Linux下快速批量删除文件的方法(linux批量删除文件)