科普|不同协议下远程服务器文件上传_下载优劣对比
作為一個程序員,如果不知道如何進(jìn)行遠(yuǎn)程服務(wù)器的文件上傳與下載,實(shí)在是一件尷尬的事情。打開百度,搜索「遠(yuǎn)程服務(wù)器 上傳下載」,你能得到 63,100,000 個搜搜結(jié)果,五花八門的操作方式的讓人眼花繚亂。
那么,今天我們聊聊如何實(shí)現(xiàn)遠(yuǎn)程服務(wù)器的文件上傳與下載。通常而言,我們會選擇 ftp、scp 以及 sftp 進(jìn)行文件傳輸。但 ftp 基于 TCP 來傳輸文件,明文傳輸用戶信息和數(shù)據(jù),存在一定的安全風(fēng)險。所以我們更傾向于選擇基于 SSH 來加密傳輸?shù)?scp 和 sftp,但結(jié)合速度、安全性和功能的要求,這兩種協(xié)議各有優(yōu)劣。接下來,我們做個簡單比較,也許會讓你的日常選擇更加高效。
什么是 scp?
scp 是一種基于 SSH 的協(xié)議,主要用在網(wǎng)絡(luò)上的主機(jī)之間提供文件傳輸。使用 scp,我們可以在主機(jī)之間快速傳輸文件以及基本文件屬性,例如訪問權(quán)限和通過 FTP 無法可用的時間戳。scp 協(xié)議使用 RCP 傳輸文件和 SSH 以提供身份驗(yàn)證和加密。
如何通過 scp 進(jìn)行文件上傳與下載?
先介紹我們最常見的,在 linux 中可以使用 scp 進(jìn)行文件上傳和下載。
- 文件上傳:scp localfile?user@host:/dirpath
即?SCP 文件路徑遠(yuǎn)程主機(jī)用戶名@ip:/存放文件的路徑,比如 scp hello.txt?user@ip:/home/user/dirpath
- 從本地上傳目錄到遠(yuǎn)程主機(jī)?: scp -r localdir?user@host:/dirpath
即?scp -r?本地目錄路徑遠(yuǎn)程主機(jī)用戶名@ip:/存放文件路徑
- 從遠(yuǎn)程主機(jī)下載東西到本地電腦拷貝文件命令?scp?user@host:/path/file /localpath
即?scp用戶名@IP:/文件路徑?/本地文件路徑
- 如果拷目錄就?scp -r?user@host:/dirpath /localpath
即?scp -r?用戶名@IP:/目錄路徑?/本地文件路徑
什么是 sftp?
sftp 同樣是基于 SSH 的文件傳輸協(xié)議,但功能更強(qiáng)大。相較于 scp,更像是遠(yuǎn)程文件管理協(xié)議,sftp 允許對遠(yuǎn)程文件(查看目錄,刪除文件和目錄等)進(jìn)行一系列操作。
如何通過 sftp 進(jìn)行文件上傳與下載
而 sftp 下,我們可以通過 linux 命令行,使用 SFTP 命令進(jìn)行直接操作:
- sftp?用戶名@ip;
- 回車提示輸入密碼,進(jìn)入提示符 sftp>;
- 在 sftp 中 get 表示下載,put 表示上傳;
- sftp> get?遠(yuǎn)程主機(jī)下文件的路徑、將文件保存到本地電腦的路徑;
- sftp> put?本地文件的路徑、將文件版保存到遠(yuǎn)程主機(jī)的路徑;
- pwd 命令可以幫您查詢遠(yuǎn)程主機(jī)的當(dāng)前路徑。查詢本機(jī)當(dāng)前工作目錄?lpwd.,改變路徑可以用 cd?,改變本機(jī)路徑可以用?lcd;ls rm rmdir mkdir?這些命令都可以使用。同理調(diào)用本機(jī)都是加?l ,?即?lls lrm。
到底什么時候應(yīng)該使用 scp 或 sftp?
-
速度:在傳輸文件時,scp 通常比 sftp 快得多,尤其是在網(wǎng)絡(luò)延遲很高的情況下。這是因?yàn)?scp 實(shí)現(xiàn)了更高效的傳輸算法,不需要等待數(shù)據(jù)包確認(rèn), 那么,我們就選擇 scp;
-
安全性:由于兩種協(xié)議都都基于 SSH,因此它們都提供相同的安全功能,包括密碼和數(shù)據(jù)加密以及公鑰驗(yàn)證,那么,scp 或 sftp 皆可;
-
功能/可用性:如果我們需要使用包括查看/搜索目錄,創(chuàng)建文件夾和組織文件,刪除或重命名文件等功能,那么,sftp 是最好的選擇;
-
傳輸文件大小:scp 和 sftp 都沒有文件大小限制。但根據(jù)傳輸文件大小,scp 可能略有優(yōu)勢。
我們要做什么?
但不管是 scp 還是 sftp,我們都需要輸入相關(guān)指令行。一頓操作猛如虎,其實(shí)只為了完成簡單的文件上傳與下載。當(dāng)然,除去常見的 CLI 指令行的形式,我們可以通過現(xiàn)在比較受歡迎的終端模擬器軟件 xshell 和 securecrt 實(shí)現(xiàn)相關(guān)功能。xshell 和 securecrt 作為常用的串口終端工具,通過可視化形式可以滿足相關(guān)需求并具備著豐富的延展功能。但經(jīng)過用戶調(diào)研,我們發(fā)現(xiàn)開發(fā)者其實(shí)有時只是希望實(shí)現(xiàn)上傳以及下載功能。與此同時,功能能夠與開發(fā)環(huán)境集成,這樣子在 IDE 里面就可以寫代碼和文件上下傳都可以無縫進(jìn)行了。
那么,現(xiàn)在有了更簡單的遠(yuǎn)程服務(wù)器文件上傳與下載方式。借助 IDE 內(nèi)的遠(yuǎn)程服務(wù)器文件瀏覽器,我們可以更加便捷的形式實(shí)現(xiàn)上傳、下載文件。而這一切,我們僅需要 Cloud Toolkit 即可,只需三步即可,就像把大象關(guān)進(jìn)冰箱一樣簡單。
- 在 IntelliJ IDEA 菜單欄選擇 Tools?>?Alibaba Cloud?>?Alibaba Cloud View?>?Host
- 在 Host 列表右側(cè) Action 選擇 More?>?Remote Files
- 可根據(jù)需求選擇刷新、上傳和下載遠(yuǎn)程服務(wù)器上的文件
此外,還可以借助 Cloud Toolkit 將本地應(yīng)用快速部署到阿里云 ECS、EDAS、容器服務(wù) Kubernetes 版和任意服務(wù)器中去,還可以使用 Arthas 診斷、文件或文件夾上傳、內(nèi)置 Terminal 等諸多功能。
如何安裝 Cloud Toolkit
Cloud Toolkit 提供 IntelliJ IDEA、Eclipse、VS Code、PyCharm 多個版本供開發(fā)者使用。這里,我們以 IntelliJ IDEA 舉例。我們可以直接在 JetBrains 插件市場搜索 Alibaba Cloud Toolkit 并下載安裝。
是不是很簡單,那就快來下載 Cloud Toolkit!
關(guān)于 Cloud Toolkit
Alibaba Cloud Toolkit(后文簡稱 Cloud Toolkit)可以幫助開發(fā)者更高效地部署、測試、開發(fā)和診斷應(yīng)用。Cloud Toolkit 與主流 IDE 及阿里云其他產(chǎn)品無縫集成,幫助您大大簡化應(yīng)用部署到服務(wù)器,尤其是阿里云服務(wù)器中的操作。您還可以通過其內(nèi)嵌的Arthas程序診斷、Terminal Shell 終端和 MySQL 執(zhí)行器等工具,簡化應(yīng)用開發(fā)、測試和診斷的過程。目前有超過 10w 開發(fā)者選擇使用 Cloud Toolkit 提升日常研發(fā)效率。
點(diǎn)擊鏈接立即體驗(yàn) Cloud Toolkit:https://www.aliyun.com/product/cloudtoolkit
“阿里巴巴云原生關(guān)注微服務(wù)、Serverless、容器、Service Mesh 等技術(shù)領(lǐng)域、聚焦云原生流行技術(shù)趨勢、云原生大規(guī)模的落地實(shí)踐,做最懂云原生開發(fā)者的公眾號。”
總結(jié)
以上是生活随笔為你收集整理的科普|不同协议下远程服务器文件上传_下载优劣对比的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 阿里研究员谷朴:警惕软件复杂度困局
- 下一篇: 一种简单快捷的 java 热部署方式