我登录到 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 命令。例如,许多终端客户已经ls
或dir
将要在FTP转换LIST
命令,put
成STOR
,get
成RETR
等,但有一个没有FTP命令echo
你试过因为这样的功能,并没有真正意义的功能时,该协议的唯一目标是文件转移。