您好,登錄后才能下訂單哦!
這篇文章主要介紹了Linux中如何傳輸超大文件,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
本文研究的主要內容是Linux下如何傳輸超大文件,具體如下。
linux下的文件傳輸,大家首先會想到rsync、scp之類的工具,但這類工具有一個特點慢,因為這類工具都是加密傳輸,發送端加密,接收端解密,當我們傳輸一些非敏感文件的時候,完全可以不加密,直接在網絡上傳輸。
直接上實例,傳輸一個2077M的ISO文件。
nc發送接收數據
接收端:
nc -l 45.55.0.86 9999 > jieshou.iso
? -l :監聽一個端口來接收數據
? -u : 不使用 TCP 而是使用 UDP 來進行數據連接(應該速度更快,沒試)
整條命令的意思:本地開啟9999端口來接收數據,把接收到的數據存到“jieshou.iso”文件里面。
發送端:
time nc 45.55.0.86 9999 < CentOS-6.9-x86_64-bin-DVD2.iso
命令最前面的time是用來檢測該命令運行耗時的。
24秒就在公網上傳完了一個2077M的文件,平均速度高達87M/s,傳輸完畢后在兩端校驗MD5,發現文件完全一致。
用nc傳輸有兩個特點:
?速度快
?傳輸簡單,不需要登錄對方服務器,不需要驗證信息。
nc進度顯示
若你文件實在太大,想看到傳輸進度,用PV
yum install epel-release -y yum install pv -y cat CentOS-6.9-x86_64-bin-DVD2.iso |pv -b | nc 45.55.0.86 9999
傳輸目錄
接收端:
nc -l 45.55.0.86 9999 | pv -b > home.tar.gz
發送端:
tar -czf - /home/ | nc 45.55.0.86 9999
中轉文件
A、B、C三臺主機,A美國,C昌南,C只能訪問到B,不能直接訪問A,B和AC互通。C要怎么才能拿到A上的文件呢?
C上執行:
nc -l 9999 > google_file.txt
B上執行:
nc -l 9999 | nc (C的外網IP) 9999
A上執行:
nc (B的外網IP) 9999 < google_file.txt
感謝你能夠認真閱讀完這篇文章,希望小編分享的“Linux中如何傳輸超大文件”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。