VSFTPD 中是否有一个配置,NLST <dir>
只发送回filename
而不发送<dir>/<filename>
?
ftp> nlist OUT
227 Entering Passive Mode (149,202,207,54,212,185).
150 Here comes the directory listing.
OUT/M41_RIC_20210210093105645.CSV
OUT/M41_RIC_20210211095039186.CSV
OUT/M51_RIC_T19048_115_26102020_20201028114231.csv
226 Directory send OK.
谢谢
亚历克斯
答案1
在 vsftpd 中,输出中的名称NLST
始终相对于当前工作目录。
我认为这样做的目的是,FTP 客户端可以NLST path
在执行类似客户端命令时使用输出mget path
。它可以简单地RETR filepath
对返回的每一行执行操作NLST
,而无需尝试理解远程路径的语义。
您在评论中反对 Microsoft IIS 不会在NLST <dir>
结果中返回路径。确实不会。因此,ftp.exe
当您从 IIS 子文件夹下载文件时,Microsoft 自身也会失败。有趣的是,IIS 会返回路径。因此,反对 IIS 是可行的。mget <dir>
NLST <dir>/<subdir>
mget <dir>/<subdir>
要获取没有任何路径的列表,请更改工作目录并且NLST
不带任何参数执行:
CWD OUT
NLST