如果文件夹中有超过 100 万个文件,则删除文件夹及其所有内容
Deleting a folder and all of its contents if the folder has more than 1 million files
我正在尝试删除我的 cdn 中使用的文件夹,它会为每个查看的文件创建新文件夹。这意味着对于请求的每个文件,它们都是一个文件夹。这在我的主文件夹中堆积了大约 1 亿个文件夹。
我该如何删除里面的所有内容?因为当我尝试 rm -rf 时,它给了我参数列表太长的错误。
您的 post 有点令人困惑,当然属于服务器故障,但是..
可能,您正在尝试做的是:
rm -rf *
错误消息 "Argument List too Long" 来自 bash,它具有用于参数列表的固定内存大小。因此,当您 运行 rm -rf *
、bash 首先创建每个 file/folder 的列表,然后再删除它们。查看尺码:
getconf ARG_MAX
如果要删除整个文件夹,只需 rm -rf folder/*
即可。
但是如果你想删除文件夹内的文件。
find /folder/ -type d -exec rm -rf {} \;
这个找到的每一个目录(-type d)都会被你一一删除。
我正在尝试删除我的 cdn 中使用的文件夹,它会为每个查看的文件创建新文件夹。这意味着对于请求的每个文件,它们都是一个文件夹。这在我的主文件夹中堆积了大约 1 亿个文件夹。
我该如何删除里面的所有内容?因为当我尝试 rm -rf 时,它给了我参数列表太长的错误。
您的 post 有点令人困惑,当然属于服务器故障,但是..
可能,您正在尝试做的是:
rm -rf *
错误消息 "Argument List too Long" 来自 bash,它具有用于参数列表的固定内存大小。因此,当您 运行 rm -rf *
、bash 首先创建每个 file/folder 的列表,然后再删除它们。查看尺码:
getconf ARG_MAX
如果要删除整个文件夹,只需 rm -rf folder/*
即可。
但是如果你想删除文件夹内的文件。
find /folder/ -type d -exec rm -rf {} \;
这个找到的每一个目录(-type d)都会被你一一删除。