如何通过ftp或ssh删除大量文件?

在我的服务器上,我一直在使用的脚本之一,在根目录下创build空白文件,我已经超过6个月没有被发现,现在总共创build了超过50万个文件。

我无法通过控制面板访问该目录,因为文件太多,我只能用ftp访问。 即使使用ftp,ftp也将每个文件截取了8000个。 所以我不得不每次删除8000个。

我试图让我的主人删除它,但他们说,他们不能,因为这是责任问题。

所以我想知道的是我怎样才能通过FTP删除所有这500,000个文件? 由于它是共享主机,我也没有SSH访问。 主机供应商说我可以请求SSH访问,但需要validation它和他们的办公室closures,直到下周。 所以我现在用ftp卡住了。

所以,请让我知道如何通过FTP删除大量的文件?

并incase,如果我可以得到ssh访问,请让我知道我怎样才能通过有效的方式通过ssh删除文件?

文件名是这样的

  • closecp.139619
  • closecp.139619.1
  • closecp.139620
  • closecp.139620.1

正如山姆指出,我会把一个PHP或Perl文件在你的网站空间,从目录中删除的文件。

确保脚本不能被任何人轻松find,除非您确保脚本中的值不能通过POST或GET被覆盖。

在删除这些文件的时候可能会花费很长时间,期待高I / O。

Theres很多有用的build议如何在本文中删除大量文件rm-on-a-directory-with-millions-of-files

你的数字可能不是数百万,但是会很慢。

最后,我用ftp命令行得到了它。 我从窗口使用“cmd”。

首先,我需要closures提示

prompt 

然后用下面的命令删除

 mdelete closecp.* 

你可能很幸运,FTP服务器允许服务器端扩展通配符。

抛弃你的FTP GUI,甩出shell,通过命令行ftp连接&login。 input“del closecp。*”并让它stream失。 噢,先禁用提示可能很有用(取决于你所在的系统)。

如果你可以ssh到盒子,你可以运行如下的东西:

 find /path/to/files -maxdepth 1 -name "closecp.*" -delete 

这将在/ path / to / file目录中find所有名称为“closecp。*”的文件(如您所注意的)(根据您的情况进行更改)。 “-maxdepth 1”选项将使“查找”命令不会查看子目录,只能查看/ path / to / file。