Я практиковал ftp, но столкнулся с проблемой: команда ls не работает на ftp>. Почему? Я проверил на 2 удаленных серверах, но ls не работал ни на одном и выдал другой вывод при выполнении ls. Пожалуйста, смотрите ниже для 2 удаленных коробок.
Ниже показан мой удаленный сервер, на котором я сегодня установил vsftpd.
ravbholua@ravbholua-Aspire-5315:~$ ftp rs
Connected to ravi.com.
220 (vsFTPd 3.0.2)
Name (rs:ravbholua):
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> pwd
257 "/home/ravbholua"
ftp> ls
500 Illegal PORT command.
ftp: bind: Address already in use
ftp>
Ниже приведено описание другой удаленной машины, на которую я должен отправить несколько файлов. Но так как ls на ftp> не работает, как я буду переносить файлы из своего локального ящика в этот ящик, потому что я не могу подтвердить без ls, были ли файлы переданы или нет.
ravbholua@ravbholua-Aspire-5315:~$ ftp 125.21.153.140
Connected to 125.21.153.140.
220---------- Welcome to Pure-FTPd [TLS] ----------
220-You are user number 1 of 10 allowed.
220-Local time is now 04:34. Server port: 21.
220-This server supports FXP transfers
220 You will be disconnected after 2 minutes of inactivity.
Name (125.21.153.140:ravbholua): peacenews
331 User peacenews OK. Password required
Password:
230 OK. Current restricted directory is /
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
200-FXP transfer: from 123.63.112.168 to 10.215.10.80
200 PORT command successful
Обратите внимание, что для вышеупомянутой машины после запуска ls на ftp> приглашение не возвращалось.
На обеих удаленных машинах я получил различный вывод при выполнении ls на ftp>
man ftp
и нашел -p
вариант, который будет использоваться для пассивного режима. Как man ftp
упоминается, что ftp является пользовательским интерфейсом к стандартному протоколу передачи файлов в Интернете: это интерфейс, а не клиент ftp !!! Я понимаю, что клиент FTP использует этот интерфейс (FTP) для передачи файлов.