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

为什么使用 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

我的问题可能不正确,但我对 FTP 连接有什么误解?

答案1

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

现有的各种终端界面和各种图形 FTP 客户端本质上只是将一些本地命令或点击转换为 FTP 命令。例如,许多终端客户端都有ls或将在 FTP命令dir中转换为、into等。但是,对于您尝试过的功能,没有 FTP 命令,因为当协议的单一目标是文件时,此类功能实际上没有意义。转移。LISTputSTORgetRETRecho

答案2

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

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

相关内容