[LINUX]海量文件删除方法

Linux下删除文件夹下的海量文件,有时候会报错:

Linux下通过 rm -f 删除大量文件时报错:Argument list too long

待删除文件中包含的小文件数量过多,通常是由于受到 shell 参数个数限制所致。

这个是Linux系统存在的限制,可以通过如下指令查看该参数值的配置:

getconf ARG_MAX
1 可以通过awk删除
###ls -l ${DATAPATH} | awk -v datapath="${DATAPATH}" '{print "echo "datapath"/"$9}'|sh
echo "STARAT DELETE FILE"
ls -l ${DATAPATH} | awk -v datapath="${DATAPATH}" '{
    if ($9 != "") {
        print "rm "datapath"/"$9
    }
}'| sh
2 可以通过find结合xargs删除
find "${DATAPATH}/" -name "*" | xargs rm

推荐第二种方法

你可能感兴趣的:([LINUX]海量文件删除方法)