美文网首页Linux与后台开发归档
[LINUX]海量文件删除方法

[LINUX]海量文件删除方法

作者: _小老虎_ | 来源:发表于2018-07-31 13:54 被阅读5次

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]海量文件删除方法

    本文链接:https://www.haomeiwen.com/subject/psxhvftx.html