Linux SSH遠程文件傳輸命令scp

相信各位VPSer在使用VPS時會經常在不同VPS間互相備份數據或者轉移數據,大部分情況下VPS上都已經安裝了Nginx或者類似的web server,直接將要傳輸的文件放到web server的目錄,然後在目標機器上執行:wget http://www.vpser.net/testfile.zip 就行了。當VPS上沒有安裝web server和ftp server的時候或感覺上面的方法比較麻煩,那麼用scp命令就會排上用場。

  一、scp是什麼?

  scp是secure copy的簡寫,用於在Linux下進行遠程拷貝文件的命令,和它類似的命令有cp,不過cp只是在本機進行拷貝不能跨服務器 ,而且scp傳輸是加密的。可能會稍微影響一下速度。

  二、scp有什麼用?

  1、我們需要獲得遠程服務器 上的某個文件,遠程服務器既沒有配置ftp服務器,沒有開啓web服務器,也沒有做共享,無法通過常規途徑獲得文件時,只需要通過scp命令便可輕鬆的達到目的。

  2、我們需要將本機上的文件上傳到遠程服務器上,遠程服務器沒有開啓ftp服務器或共享,無法通過常規途徑上傳是,只需要通過scp命令便可以輕鬆的達到目的。

  三、scp使用方法

  1、獲取遠程服務器上的文件

  scp -P 2222 [email protected]:/root/lnmp0.4.tar.gz /home/lnmp0.4.tar.gz

  上端口大寫P 爲參數,2222 表示更改SSH端口後的端口,如果沒有更改SSH端口可以不用添加該參數。 [email protected] 表示使用root用戶登錄遠程服務器www.vpser.net ,:/root/lnmp0.4.tar.gz 表示遠程服務器上的文件,最後面的/home/lnmp0.4.tar.gz表示保存在本地上的路徑和文件名。

  2、獲取遠程服務器上的目錄

  scp -P 2222 -r [email protected]:/root/lnmp0.4/ /home/lnmp0.4/

  上端口大寫P 爲參數,2222 表示更改SSH端口後的端口,如果沒有更改SSH端口可以不用添加該參數。-r 參數表示遞歸複製(即複製該目錄下面的文件和目錄);[email protected] 表示使用root用戶登錄遠程服務器www.vpser.net ,:/root/lnmp0.4/ 表示遠程服務器上的目錄,最後面的/home/lnmp0.4/表示保存在本地上的路徑。

  3、將本地文件上傳到服務器上

  scp -P 2222 /home/lnmp0.4.tar.gz [email protected]:/root/lnmp0.4.tar.gz

  上端口大寫P 爲參數,2222 表示更改SSH端口後的端口,如果沒有更改SSH端口可以不用添加該參數。 /home/lnmp0.4.tar.gz表示本地上準備上傳文件的路徑和文件名。[email protected] 表示使用root用戶登錄遠程服務器www.vpser.net ,:/root/lnmp0.4.tar.gz 表示保存在遠程服務器上目錄和文件名。

  4、將本地目錄上傳到服務器上

  scp -P 2222 -r /home/lnmp0.4/ [email protected]:/root/lnmp0.4/

  上 端口大寫P 爲參數,2222 表示更改SSH端口後的端口,如果沒有更改SSH端口可以不用添加該參數。-r 參數表示遞歸複製(即複製該目錄下面的文件和目錄);/home/lnmp0.4/表示準備要上傳的目錄,[email protected] 表示使用root用戶登錄遠程服務器www.vpser.net ,:/root/lnmp0.4/ 表示保存在遠程服務器上的目錄位置。

  5、可能有用的幾個參數 :

  -v 和大多數 linux 命令中的 -v 意思一樣 , 用來顯示進度 . 可以用來查看連接 , 認證 , 或是配置錯誤 .

  -C 使能壓縮選項 .

  -4 強行使用 IPV4 地址 .

  -6 強行使用 IPV6 地址 .

  附上將DiaHosting VPS 上的文件 scp傳輸Linode上的截圖,速度在10MB/s:

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