您好,我们制作了一个小程序,用于将 .zip 文件上传到 FTP 服务器,当我使用 FileZilla 连接到 FTP 服务器以查看一切正常时,我看不到上传的文件。
但是,如果通过 Windows Shell 中的 ftp 命令连接到 FTP 并执行 ls 命令,我可以看到该文件,但如果我使用 dir 命令,则不会列出该文件(事实上,没有列出任何文件)
那么...这两个命令(ls / dir)有什么区别?
看起来 FileZilla 正在使用 dir 命令。
注意:我不知道正在使用哪个 FTP 服务器,但是当我连接时,它响应“220 sasbas FTP 服务器(版本 4.2...)
答案1
dir
和之间的区别ls
在于,Windows FTP 客户端在后台发送两个不同的FTP 命令。
该dir
命令发送LIST
FTP命令:
如果指定,则返回文件或目录的信息,否则返回当前工作目录的信息。
该ls
命令发送NLIST
FTP命令:
返回指定目录中的文件名列表。
这并没有真正解释列表中的差异,但我建议查看 FTP 服务器的文档来调查为什么您会看到这两个命令的不同结果。
答案2
返回dir
完整目录列表,而ls
返回简化目录列表。
答案3
这可能是权限异常,也可能是平台特定问题。您能告诉我们涉及哪些操作系统和 FTP 服务器软件吗(许多服务器会在您连接时宣布此信息)。
如果它响应命令ls -al
,您能把这些信息添加到您的问题中吗?或者,如果您可以使用 SSH 连接帐户,ls -al
那么会返回什么?
还有一件事 - zip 文件的第一个字符是否为点?这通常被解释为除非您特别指定选项,否则文件应该被隐藏。