ftp 中的文字命令有什么用?

ftp 中的文字命令有什么用?

浏览 FTP 帮助(即ftp> ?),显示了一个命令名称literal,其描述是

ftp> ? literal
literal         Send arbitrary ftp command

我尝试做一些尝试和错误,以下是终端输出。全部退回500 Unknown command.

ftp> literal check
500 Unknown command.
ftp> literal bye
500 Unknown command.
ftp> literal
Command line to send check
500 Unknown command.
ftp> literal
Command line to send ascii
500 Unknown command.

我想了解更多关于这个literal命令以及它在什么场景下有帮助?

编辑

注意:我正在从 Windows 7 命令提示符连接 Unix 计算机。我在 ftp 帮助中看到了literal和。quote

答案1

文件传输协议有相当多的命令。而客户端则将其中一些映射到更用户友好的文本界面。

例如,如果您使用ftp -v(取决于您的ftp客户,我使用的需要ftp -vd),您会注意到类似以下内容(--->显示什么是发送到服务器):

$ ftp -vd ftp.debian.org
Connected to ftp.debian.org.
220 ftp.debian.org FTP server
Name (ftp.debian.org:user): anonymous
---> USER anonymous
331 Please specify the password.
Password:
---> PASS XXXX
230 Login successful.
[...]
ftp> cd debian
---> CWD debian
250 Directory successfully changed.

也就是说,您方便的cd调用被映射到CWD命令。

某些 FTP 客户端允许您发送逐字 FTP 命令到服务器;在你的中,它是用literal(我的ftp用途quote)完成的:

ftp> quote CWD ..
---> CWD ..
250 Directory successfully changed.

有用?事实上,它允许您以客户端不知道的方式与 FTP 服务器进行交互。也许您的客户端没有执行SITE命令,那么您仍然可以literal SITE [...]让服务器执行您想要的操作。像FXP可以用任何FTP 客户端也使用手工命令(尽管相当不方便)。另外,为了试验 FTP,让 FTP 客户端处理登录过程并随后使用文字命令(与仅使用 telnet/netcat 相比)会更方便。

但是,服务器理解的内容显然取决于您的服务器:

ftp> quote foobar
---> foobar
500 Unknown command.

相关内容