nc 命令傳文件
工作中,由於開發機與線上機器分屬不同的機房,需要跳板機進行登錄,而跳板機的scp功能貌似受限,導致線上和線下機器傳輸數據非常麻煩,速度還較慢。得高手指點,nc也可用於文件傳輸,且不依賴於scp。
用法很簡單:
1、從跳板機傳文件至開發機:
在跳板機上: nc -l 端口號 < 待傳輸文件名
在開發機上: nc 跳板機ip 端口號 > 待傳輸文件名
2、從開發機傳文件至跳板機:
在跳板機上: nc -l 端口號 > 待傳輸文件名
在開發機上: nc 跳板機ip 端口號 < 待傳輸文件名
文件傳輸結束後,都會自動關閉本次偵聽連接。
例如下:
目的主機監聽
nc -l 監聽端口<未使用端口> >要接收的文件名
nc -l 4444 >cache.tar.gz
源主機發起請求
nc 目的主機ip 目的端口 <要發送的文件
nc 192.168.0.85 4444 </root/cache.tar.gz
netstat 如下
[root@localhost ]# netstat-tpln
tcp 0 00.0.0.0:4444 0.0.0.0:* LISTEN 18166/nc
英文描述如下
DATA TRANSFER
Start by using nc to listen on aspecific port, with output captured into a file:
$ nc -l 1234 > filename.out
Using a second machine, connect to the listeningnc process, feeding it the file which is to betransferred:
$ nc host.example.com 1234 < filename.in
另附nc的其他選項說明:
語 法:nc [-hlnruz][-g<網關...>][-G<指向器數目>][-i<延遲秒數>][-o<輸出文件>][-p<通信端口>][-s<來源位址>][-v...][-w<超時秒數>][主機名稱][通信端口...]
補充說明:執行本指令可設置路由器的相關參數。
參 數:
-g<網關> 設置路由器躍程通信網關,最丟哦可設置8個。
-G<指向器數目> 設置來源路由指向器,其數值爲4的倍數。
-h 在線幫助。
-i<延遲秒數> 設置時間間隔,以便傳送信息及掃描通信端口。
-l 使用監聽模式,管控傳入的資料。
-n 直接使用IP地址,而不通過域名服務器。
-p<通信端口> 設置本地主機使用的通信端口。
-r 亂數指定本地與遠端主機的通信端口。
-s<來源位址> 設置本地主機送出數據包的IP地址。
-u 使用UDP傳輸協議。
-v 顯示指令執行過程。
-w<超時秒數> 設置等待連線的時間。
-z 使用0輸入/輸出模式,只在掃描通信端口時使用