如何高效的在服務器和本地進行上傳和下載文件

昨天, 師弟告訴我可以在xshell中使用sz進行下載, 想要上傳的話用rz就行了. 然後我竟然沒有聽過. 學習最好的方法就是寫一篇博客, 比如這篇.

1. 從putty到xshell

最開始, 是使用putty進行的服務器連接,痛點在於多窗口要開多個putty,切換麻煩。

xshell其實是有社區版的,註冊一下就可以免費下載使用,xshell的各種好說不盡。

putty
image
xshell
image

2. FileZilla, Winscp到scp

FileZilla和Winscp都是窗口化的解決方案,scp命令可以在終端種執行, 想要下載到特定文件種,在文件中右鍵打開git bash,打開cmd
image

  • 上傳文件file.txt到服務器: 然後運行scp file -P 22 [email protected]:/home/dengfei/xxx
  • 下載文件file.txt到本地: scp -P 22 [email protected] :/home/dengfei/xxx/file.txt .
  • 如果端口是22, 那麼-P 22可以省略
    爲了不每一次輸入dengfei@192....之類的代碼, 以及輸入文件的絕對路徑, 我編寫了一個perl腳本, 自動定位文件所在的絕對路徑, 並且加入scp的命令, 這樣就可以生成一個命令,可以直接在本地的shell中下載服務器的內容:
#!/usr/bin/perl
use strict;
chomp(my $pwd = `pwd`);
print "scp dengfei\@192.168.3.44:$pwd/$ARGV[0] .\n";

現在看起來, 還是太複雜了. 怎麼簡單?

使用sz和rz啊.

3. sz和rz上傳和下載

首先你的Linux上需要安裝安裝lrzsz工具包,(如果沒有安裝請執行以下命令,安裝完的請跳過)

yum  install lrzsz

安裝完畢即可使用。

3.1 下載

  • 服務器當前目錄有一個hello.txt文檔, 我要下載到本地的桌面上, 鍵入:
sz hello.txt
  • 然後彈出保存文件的對話框, 默認是桌面, 點擊確定即可
    image

image

3.2 上傳

  • 本地桌面上有個hello(2).txt文件, 想要上傳到服務器本地文件中, 在服務器中鍵入:
rz
  • 彈出一個對話窗口, 選擇需要上傳的文件, 點擊確定
    image

image

4. 太長不看篇

  • sz是下載命令
  • rz是上傳命令
  • 如果沒有這兩個命令, 就安裝lrzsz

服務器是centos的安裝命令:

yum  install lrzsz

服務器是ubuntu的安裝命令:

apt install lrzsz

5. sz和rz分不清楚

  • sz中的s意爲send(發送),告訴客戶端,我(服務器)要發送文件 send to cilent,就等同於客戶端在下載
  • rz中的r意爲received(接收),告訴客戶端,我(服務器)要接收文件 received by cilent,就等同於客戶端在上傳
  • 記住一點,不論是send還是received,動作都是在服務器上發起的

6. 歡迎關注我的公衆號

image

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章