Browsing through FTP help (i.e. ftp> ?
), showed me a command name literal
, description of which is
ftp> ? literal
literal Send arbitrary ftp command
I tried to do some trial and error, and following is the terminal output. All returned 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.
I would like to know more about this literal
command and in what scenarios is it helpful?
Edit
Note: I am connecting a unix machine from windows 7 command prompt. And I see both literal
and quote
in ftp help.
Best Answer
FTP has quite a few commands. While the client maps some of these to a more userfriendly text interface.
For example, if you use
ftp -v
(depending on yourftp
client, the one I use needsftp -vd
), you'll notice something like the following (--->
shows what is sent to the server):That is, your convenient
cd
calls get mapped toCWD
commands.Some FTP clients allow you to send verbatim FTP commands to the server; in yours it is done with
literal
(myftp
usesquote
):Useful? Indeed, it allows you to interact with your FTP server in ways the client doesn't know about. Maybe your client doesn't implement
SITE
commands, then you could still useliteral SITE [...]
to have the server do what you want. Things like FXP can be done with any FTP client using handcrafted commands, too (albeit quite inconveniently). Also, for experimenting with FTP, it's more comfortable to have the login process handled by the FTP client and use literal commands afterwards (compared to using telnet/netcat only).However, what the server understands obviously depends on your server: