hint [9] swiss army knife
Еще один очень простой способ передавать файлы между компьютерами:
на сервере
nc -l -p 8080 < file
на клиенте достаточно в браузере набрать http://192.168.0.123:8080
Собственно, все. Вообще, теоретически, работать это не должно, т.к. нет заголовков сервера - Status, Content-type и проч. Но работает, это факт.
Впрочем, чтобы никто не смог сказать, что в юниках в командной строке нельзя сделать HTTP сервер, вот полная реализация:
(echo -e "HTTP/1.1 200\nContent-Disposition: attachment; filename=gena_na.png\nContent-Type: application/octet-stream\nConnection: close\n"; cat mrxvt_screen2.png) | nc -vv -l -p 8080
(набирать это каждый раз утомительно, но ничто не мешает сделать скрипт)


У меня не работает((
booch@alexlinux:~$ nc -l -p 8080 < file
usage: nc [-46DdhklnrStUuvzC] [-i interval] [-P proxy_username] [-p source_port]
[-s source_ip_address] [-T ToS] [-w timeout] [-X proxy_protocol]
[-x proxy_address[:port]] [hostname] [port[s]]
booch@alexlinux:~$ echo -e "HTTP/1.1 200\nContent-Disposition: attachment; filename=gena_na.png\nContent-Type: application/octet-stream\nConnection: close\n"; cat mrxvt_screen2.png) | nc -vv -l -p 8080
bash: ошибка синтаксиса около неожиданной лексемы `)'
Я юзаю Убунту, там dash, но по идеи должно работать.
Советы малось устарели :)
1. В свежих ubuntu поменялся netcat (с ветки traditional на openbsd), и там опция -p стала не нужна, т.е. nc -l 8080 < file.
2. У меня под рукой несколько версий убунты (10.10, 10.04), и там эта строка работает, тоже после того, как убрать опцию -p.
Я, кстати, для быстрой раздачи файлов по сети до сих пор использую маленький HTTP-сервер на bash: http://alexey.sveshnikov.ru/blog/2007/08/30/bash-httpd-2, его я поддерживю в актуальном состоянии, т.е. он работает в новых убунту.