Por que alguns comandos não funcionam quando conectados a um servidor usando FTP?

2

Estou conectado a um servidor Linux e uso ftp placeftp.thing.com para conectar-me a um servidor diferente.

Eu recebo a mensagem abaixo e agora posso transferir arquivos para esse servidor, no entanto, um comando básico do Unix echo $SHELL não funciona. É porque estou no modo de transferência binária ou simplesmente por causa da conexão FTP?

Connected to placeftp.thing.com (12.10.115.175).
220 You are connected to PLACEFTP.THING.COM.
331 User name okay, need password.
230 User logged in, proceed.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> echo $SHELL
?Invalid command

Eu posso estar fazendo minha pergunta incorretamente, mas o que estou entendendo mal sobre conexões FTP?

    
por Emile 31.08.2017 / 20:15

2 respostas

21

O FTP não é um shell remoto como o SSH ou o telnet. O FTP é um protocolo com apenas alguns comandos de seleção. Veja o padrão RFC 959 para detalhes sobre os comandos suportados.

As várias interfaces de terminal existentes e os vários clientes FTP gráficos basicamente traduzem apenas alguns comandos locais ou cliques em um comando FTP. Por exemplo, muitos clientes de terminal têm ls ou dir , que serão traduzidos no comando LIST do FTP, put em STOR , get into RETR etc. Mas não há comando FTP para uma echo funcionalidade que você tentou porque essa funcionalidade realmente não faz sentido quando o único objetivo do protocolo é a transferência de arquivos.

    
por 31.08.2017 / 20:22
6

O FTP é usado para transferir arquivos entre computadores em uma rede. Quando você se conecta a um servidor FTP, é possível executar comandos que ajudam a transferir, criar e remover arquivos.

Não é um bash shell no qual você pode executar comandos bash .

    
por 31.08.2017 / 20:23

Tags