浏览 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.