dir 和 ls FTP 命令之间的区别

dir 和 ls FTP 命令之间的区别

您好,我们制作了一个小程序,用于将 .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命令发送LISTFTP命令:

如果指定,则返回文件或目录的信息,否则返回当前工作目录的信息。

ls命令发送NLISTFTP命令:

返回指定目录中的文件名列表。

这并没有真正解释列表中的差异,但我建议查看 FTP 服务器的文档来调查为什么您会看到这两个命令的不同结果。

答案2

返回dir完整目录列表,而ls返回简化目录列表。

答案3

这可能是权限异常,也可能是平台特定问题。您能告诉我们涉及哪些操作系统和 FTP 服务器软件吗(许多服务器会在您连接时宣布此信息)。

如果它响应命令ls -al,您能把这些信息添加到您的问题中吗?或者,如果您可以使用 SSH 连接帐户,ls -al那么会返回什么?

还有一件事 - zip 文件的第一个字符是否为点?这通常被解释为除非您特别指定选项,否则文件应该被隐藏。

相关内容