删除海量小文件
工作中遇到一个场景需要删除目录下几十万个 jpg 文件
第一个想到的方案:
rm -r *.jpg
如果使用这种方案,shell 会拼接文件名,最终执行的命令会像是 rm -r pic1.jpg pic2.jpg pic3.jpg ...
。由于拼接的名字过长,可能会导致报错。
替代方案:
find /nasdata -type f -name "*.jpg" -exec rm -v {} \;
这种方案好像耗时也会比较长
可以使用 find 自带的参数 -delete
:
find /nasdata -type f -name "*.jpg" -delete