Все приведенные выше ответы предполагали, что в вашем дистрибутиве Python будут некоторые сторонние библиотеки для достижения цели «один лайнер python ftpd», но это не тот случай, о котором спрашивал @zio.Кроме того, SimpleHTTPServer использует веб-браузер для загрузки файлов, но он недостаточно быстр.
Python не может выполнять ftpd сам по себе, но вы можете использовать netcat , nc
:
nc
- это встроенный инструмент из любой UNIX-подобные системы (даже встроенные системы), поэтому они идеально подходят для " быстрого и временного способа передачи файлов ".
Шаг 1, на стороне получателя, выполните:
nc -l 12345 | tar -xf -
это будет прослушивать порт 12345, ожидая данных.
Шаг 2, на стороне отправителя:
tar -cf - ALL_FILES_YOU_WANT_TO_SEND ... | nc $RECEIVER_IP 12345
Вы также можете поместить pv
в середину, чтобы отслеживать ход передачи:
tar -cf - ALL_FILES_YOU_WANT_TO_SEND ...| pv | nc $RECEIVER_IP 12345
Послепередача завершена, обе стороны nc
автоматически завершат работу, и работа выполнена.