为什么Linux中的rm命令可以在几秒钟内删除文件/dir,而FTP中的删除速度真的很慢



最近我错误地创建了一个包含大量文件和子目录的目录。然后我试图通过我的FTP软件(FileZilla)删除目录,但它真的很慢,就像你可以看到的那样,删除每个文件需要2/3秒。

所以我停止了它,并通过SSH和使用rm -rf命令进行尝试,然后目标目录在一秒钟内被删除。

我的问题是,为什么在FTP上速度这么慢,而在SSH上速度这么快?

非常感谢!

要删除目录树,必须对其进行迭代,检索所有文件和子目录的列表,然后逐个删除。

  • 使用remoterm -rf命令时,它可以直接访问文件系统,因此速度相对较快。

  • 而FTP客户端必须检索文件列表(包括几个FTP命令交换、打开数据通道、列表传输等),然后必须逐个删除文件。每次删除都需要发送FTP命令,等待响应。所以这需要很长时间。

FTP协议中没有"删除整棵树"命令,它与在远程shell上执行的rm -rf命令等效。

最新更新