FTP tem muito poucos comandos . Enquanto o cliente mapeia alguns deles para uma interface de texto mais fácil de usar.
Por exemplo, se você usar ftp -v
(dependendo do seu cliente ftp
, o que eu uso precisa de ftp -vd
), você notará algo como o seguinte ( --->
mostra o que é enviado para o servidor ):
$ 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.
Ou seja, as convenientes cd
chamadas são mapeadas para os comandos CWD
.
Alguns clientes FTP permitem que você envie verbatim comandos FTP para o servidor; no seu é feito com literal
(meu ftp
usa quote
):
ftp> quote CWD ..
---> CWD ..
250 Directory successfully changed.
Útil? Na verdade, ele permite que você interaja com seu servidor FTP de maneiras que o cliente não conhece. Talvez o seu cliente não implemente os comandos SITE
, então você ainda pode usar literal SITE [...]
para que o servidor faça o que você deseja. Coisas como FXP podem ser feitas com qualquer cliente FTP usando comandos feitos à mão, também (embora bastante inconvenientemente ). Além disso, para experimentar com o FTP, é mais confortável ter o processo de login tratado pelo cliente FTP e usar comandos literais depois (comparado ao uso de telnet / netcat apenas).
No entanto, o que o servidor entende depende do seu servidor:
ftp> quote foobar
---> foobar
500 Unknown command.