假设FTP站点上有一些文件夹:
test_20160125,test_20160222
我使用命令删除FTP上的特定文件夹:
ftp> rm *test_*
550 The filename, directory name, or volume label syntax is incorrect.
如何使用 FTP 命令删除文件夹?
最佳答案
ftp(1)
命令行客户端将其内置的 rm
命令转换为 FTP DELE
命令,大多数 FTP 服务器通过调用用于删除文件 的函数来处理DELE
(DELEte 文件)(例如 unlink( 2)
在 Unix 上),不是目录。因此你可以尝试:
ftp> rmdir *test_*
但是,即使是上面的操作也可能会失败,因为客户端 rmdir
命令将被转换为 FTP RMD
(Re M移动D目录)命令;许多 FTP 服务器通过调用 例如 rmdir(2)
函数来处理 RMD
。某些 FTP 服务器不会将 RMD
参数作为 glob 模式处理,因此可能会尝试删除名为 exactly 的目录“test_ ”(大概不存在)。即使处理了 glob 模式, 尝试删除包含文件的目录也经常会失败;需要先删除目录下的文件。
因此您可能需要删除这些目录中的文件,然后删除目录本身:
ftp> mdelete test_*/*
客户端 mdelete
命令应该在幕后为您进行必要的全局/模式匹配,并删除与模式匹配的文件。然后您可以使用以下方法删除这些目录:
ftp> rmdir test_20160125
ftp> rmdir test_20160222
由于这种性质的功能通常在客户端中完成,使用更复杂的 FTP 客户端(如 @User123 所建议的 lftp
)会容易得多。
希望这对您有所帮助!
关于linux - 如何使用命令删除FTP中的文件夹?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38071720/