2

Здравствуйте, мы создали небольшую программу для загрузки ZIP-файла на FTP-сервер, и когда я подключаюсь к FTP-серверу с помощью FileZilla, чтобы увидеть, что все в порядке, я не вижу загруженный файл.

Но если подключиться к FTP с помощью команды ftp в оболочке Windows и выполнить команду ls, я смогу увидеть файл, но если я вместо этого использую команду dir, файл не появится в списке (фактически ни один файл не указан)

Так что ... в чем различия между этими двумя командами (ls / dir)?

Похоже, что FileZilla использует команду dir.

Примечание: я не знаю, какой FTP-сервер используется, но когда я подключаюсь, он отвечает "220 sasbas FTP-сервер (Версия 4.2 ....)

3 ответа3

3

Разница между dir и ls заключается в том, что скрытый Windows-клиент Windows отправляет две разные команды FTP.

Команда dir отправляет команду LIST FTP:

Возвращает информацию о файле или каталоге, если указано, иначе возвращается информация о текущем рабочем каталоге.

Команда ls отправляет команду FTP NLIST :

Возвращает список имен файлов в указанном каталоге.

На самом деле это не объясняет разницу в списке, но я бы посоветовал изучить документацию вашего FTP-сервера, чтобы выяснить, почему вы видите разные результаты для этих двух команд.

0

dir возвращает полный список каталогов , тогда ls возвращает упрощенный список каталогов.

0

Это может быть странностью разрешений, и может быть проблемой, специфичной для платформы. Можете ли вы сказать нам, какое программное обеспечение для ОС и FTP-сервера используется (многие серверы сообщат эту информацию при подключении).

Если он отвечает на команду ls -al , не могли бы вы добавить эту информацию в свой вопрос? И / или если вы можете подключить учетную запись с помощью SSH, что тогда возвращает ls -al ?

Еще одна вещь - у zip-файла точка в качестве первого символа? Это часто интерпретируется как означающее, что файл должен быть скрыт, если только вы не укажете параметры в противном случае.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .