我正在使用这样的东西将文件从一台计算机发送到另一台:
提供文件(在计算机 A 上):
cat something.zip | nc -l -p 1234
Run Code Online (Sandbox Code Playgroud)
接收文件(在计算机 B 上):
netcat server.ip.here. 1234 > something.zip
Run Code Online (Sandbox Code Playgroud)
我的问题是……我可以反其道而行之吗?假设我在计算机 B 上有文件,我想将它发送到 A,但不是按照我上面写的方式,而是通过使应该接收文件 (A) 的计算机成为“侦听”服务器并连接正在“发送”文件的计算机( B)到服务器并发送文件?是否可以?我认为可能是,但我不知道如何做到这一点。
万一我上面的解释搞砸了:如何将文件发送到“服务器”,而不是在服务器上提供文件,然后从中取出它(就像我上面所做的那样)?
mar*_*guy 58
在您的服务器 (A) 上:
nc -l -p 1234 -q 1 > something.zip < /dev/null在您的“发件人客户端”(B)上:
猫的东西.zip | netcat server.ip.here 1234
请注意,如果您还想保留文件权限、所有权和时间戳,我们使用tar和netcat来进行目录和文件的传输。
在接收系统上:
nc -l -p 12345 -q 1 | tar xz -C /path/to/root/of/tree
Run Code Online (Sandbox Code Playgroud)
从发送系统:
tar czf - ./directory_tree_to_xfer | nc <host name or IP address of receiving system> 12345
Run Code Online (Sandbox Code Playgroud)
希望有帮助。