前言
在服務(wù)器之間傳輸文件有多種方法哲虾,比如scp丙躏,rz/sz,搭建ftp等等束凑。
windows下感覺最方便的還是rz/sz晒旅,支持直接鼠標(biāo)拖拽但是需要用戶終端的支持,基于zmodem協(xié)議汪诉,傳輸速度慢废恋,傳輸一些大型的二進(jìn)制文件會失敗。
scp命令基于ssh協(xié)議扒寄,需要服務(wù)器能ssh登陸鱼鼓,有時(shí)想在服務(wù)器間傳輸文件,而服務(wù)器間不能直接登陸该编,需要經(jīng)過跳板機(jī)中轉(zhuǎn)迄本,用scp命令就顯得過于繁瑣。
通過搭建ftp來傳輸课竣,就更繁瑣了岸梨。。
而linux下其實(shí)還提供了另一個(gè)方便的工具——nc稠氮,基于其輕量級的特性,linux系統(tǒng)上一般都會自帶半开。它可以用來做文件傳輸隔披,但其實(shí)其功能并不只局限于此。
nc的使用
nc -l 1234
這樣通過nc監(jiān)聽了端口1234寂拆,默認(rèn)監(jiān)聽ip為0.0.0.0
而另一臺服務(wù)器想和這臺服務(wù)器通信奢米,只需
nc ip地址 1234
好了,要傳輸文件纠永,只需在此基礎(chǔ)上配合重定向符 > <
首先鬓长,在接受文件端使用命令:
nc -l 1234 > file.txt
即:將從端口1234監(jiān)聽到的信息輸出到file.txt中
然后,在發(fā)送文件端使用命令:
nc ip地址 1234 < file.txt
即:從文件file.txt發(fā)送到對應(yīng)ip的1234端口
這樣尝江,就完成文件傳輸了~
當(dāng)文件傳輸后涉波,接收文件端的nc進(jìn)程會自動退出。
后記
由于nc需要監(jiān)聽額外的未使用的端口,所以可能會被防火墻屏蔽啤覆。