Linux 使用 nc 同步文件命令行汇总
文件传输命令行
同步:
$ tar c test-file|nc -q 10 -lp 8899
接受:
$ nc -w 10 192.168.0.1 8899|tar x
这两个命令行使用 tar
和 nc
(netcat)工具在网络上进行文件的传输。
以下是对每个命令的详细解析:
同步命令
$ tar c test-file | nc -q 10 -lp 8899
解析:
tar c test-file
:tar
是一个用于打包和压缩文件的工具。c
表示创建一个新的 tar 归档。test-file
是要被打包的文件或目录(可以是单个文件,也可以是多个文件或目录,具体取决于实际情况)。
|
(管道符):- 将
tar
命令的输出传递给下一个命令。
- 将
nc -q 10 -lp 8899
:nc
(netcat)是一个网络工具,用于读写网络连接。-q 10
表示在发送完数据后,等待 10 秒,然后关闭连接。-l
表示以监听模式运行。-p 8899
指定监听的端口为 8899。
整体作用:
这个命令的作用是将 test-file
打包后通过 TCP 协议在本地端口 8899 发送。此命令会一直监听该端口,直到接收到连接并发送完数据。
接收命令
$ nc -w 10 192.168.0.1 8899 | tar x
解析:
nc -w 10 192.168.0.1 8899
:nc
用来创建网络连接。-w 10
表示在连接关闭后等待 10 秒。192.168.0.1
是发送请求的目标 IP 地址。8899
是目标端口。
| tar x
:tar x
用于解压缩和解包 tar 归档文件。x
表示提取文件。
整体作用:
这个命令的作用是连接到 192.168.0.1
的 8899 端口,接收从该端口发送过来的数据流(即 test-file
的 tar 归档),并将其解压到当前目录。
总结
这两个命令组合的作用是通过网络将一个文件(test-file
)从一台机器发送到另一台机器。第一台机器使用 tar
打包文件并通过 nc
发送,第二台机器使用 nc
接收数据并通过 tar
解压缩。此操作在文件传输和备份等场景中非常有用。
相关文章