为什么某些命令在使用 FTP 连接到服务器时不起作用?

Emi*_*ile 2 ftp

我登录到 Linux 服务器并用于ftp placeftp.thing.com连接到不同的服务器。

我收到下面的消息,现在我可以将文件传输到该服务器,但是基本的 Unix 命令echo $SHELL不起作用。是因为我处于二进制传输模式还是仅仅因为 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
Run Code Online (Sandbox Code Playgroud)

我可能会错误地问我的问题,但我对 FTP 连接有什么误解?

Ste*_*ich 22

FTP 不是像 SSH 或 telnet 那样的远程 shell。FTP 是一个只有几个选择命令的协议。有关支持的命令的详细信息,请参阅标准 RFC 959

存在的各种终端接口和各种图形 FTP 客户端基本上只是将一些本地命令或点击转换为 FTP 命令。例如,许多终端客户已经lsdir将要在FTP转换LIST命令,putSTORgetRETR等,但有一个没有FTP命令echo你试过因为这样的功能,并没有真正意义的功能时,该协议的唯一目标是文件转移。


Hun*_*son 6

FTP 用于在网络上的计算机之间传输文件。当您连接到 FTP 服务器时,您可以运行命令来帮助您传输、创建和删除文件。

它不是一个bash可以运行bash命令的shell 。