一个测试不佳的程序在NFS共享上创建了一个目录,其中包含大量
文件,我需要将其
删除.
ls -ald /home/foo
drwxrwxr-x 2 503 503 317582336 Jul 29 11:38 /home/foo
该目录位于netapp类型设备上的大约600GB的NFS安装上.我原本不知道它中有多少文件,但是在10分钟后创建的类似目录有121,000个文件,所以它可能在数百万的某个地方.操作系统是Linux 2.6内核.
试图找到一种方法来列出或删除它及其内容. find / home / foo导致在大约1小时后发现死亡,没有“./”以外的输出
(回答我自己的问题,以防有人在
搜索类似
内容时发现它.)
目录中可能有多达900万个
文件.
遗憾的是无法直接登录服务器,它是一个设备.对文件系统的唯一访问是通过导出.
rm -rf似乎不起作用.看着strace它挂了.
找不到完整,没有错误就死了.
ls -1似乎永远不会完成. (我现在意识到它试图对结果进行排序,ls -1f最终可能起作用).
什么工作是一个简单的perl片段.我假设c代码做同样的工作.
opendir( my $dh,'/home/foo' ) or die $!
while ( my $file = readdir $dh ) {
print "$file\n";
}