Я практикував ftp, але зіткнувся з проблемою: команда ls не працює на ftp>. Чому? Я перевірив на 2 віддалених серверах, але ls не працював ні на одному, і давав різний вихід, коли ls був виконаний. Будь ласка, дивіться нижче для двох віддалених коробок.
Нижче показано мій віддалений сервер, на якому я сьогодні встановив 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 on ftp> не працює, то як я перенесу файли з моєї локальної скриньки в цю скриньку, тому що я не можу підтвердитись, чи не передано файли чи ні.
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 on ftp>
man ftp
і знайшов -p
варіант використовувати для пасивного режиму. Як man ftp
згадується, ftp - це інтерфейс користувача до стандартного протоколу передачі файлів в Інтернеті: значить, це інтерфейс, а не клієнт ftp !!! Я розумію, що ftp-клієнт використовує цей інтерфейс (ftp) для передачі файлів.