Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unix FTP删除非空目录_Unix_Ftp - Fatal编程技术网

Unix FTP删除非空目录

Unix FTP删除非空目录,unix,ftp,Unix,Ftp,我已连接到Unix服务器,正在尝试通过FTP删除目录dir,其中包含多个文件。如果我使用 ftp> delete dir/* 我明白了 550通配符不明确 当我使用 ftp> prompt off Interactive mode off. ftp> mdelete dir/* 我还是会 550通配符不明确 当我尝试 ftp> glob Globbing on. ftp> mdelete dir 系统会提示我输入每个文件 如何在不提示输入每个文件的情况下轻松删

我已连接到Unix服务器,正在尝试通过FTP删除目录
dir
,其中包含多个文件。如果我使用

ftp> delete dir/*
我明白了

550通配符不明确

当我使用

ftp> prompt off
Interactive mode off.
ftp> mdelete dir/*
我还是会

550通配符不明确

当我尝试

ftp> glob
Globbing on.
ftp> mdelete dir
系统会提示我输入每个文件

如何在不提示输入每个文件的情况下轻松删除/清空和删除目录?

rmdir directoryName

但是,此目录必须位于当前目录中


备忘单:

使用lftp登录到您的服务器,这支持
rm-r
命令

lftp user, password server
然后:

-r
代表“递归”

信息:


如果您在服务器上隐藏了文件或文件夹(例如.folder),则必须将lftp列表选项设置为“-a”

这对我来说很有效:

$ lftp -u user,pass server
> set ftp:list-options -a
> cd /folder/to/be/empty/
/folder/to/be/empty/> glob -a rm -r *

我让它分两步工作,在一个访问受限的服务器上,没有SFTP,只有通过命令行的FTP

像这样:

mdelete folder_name/*
rmdir folder_name
$ftp-i


将关闭mdel上的提示,这正是您想要的。它不能在ftp内部完成。

我使用的是Filezilla,它会递归删除文件夹。我相信ftp没有递归删除文件夹的命令。

因此这意味着无法使用ftp执行此操作?另请参阅关于Serverfault。和
lftp-u登录,密码ftp\u服务器\u位置-e“rm-r目录\u删除;退出”
我最喜欢的答案,lftp简单多了。可惜的是
lftp
不能一次请求删除文件夹中的所有文件。它似乎对每个文件都做了一次往返,所以速度非常慢。@joeytwidle这不是
lftp
错误。这是FTP协议的一个限制。只有在
folder\u name
中没有子文件夹时,您才可以使用-i'
rmdir-f
强制删除
mdelete folder_name/*
rmdir folder_name