相信各位VPSer在使用VPS時會經常在不同VPS間互相備份數據或者轉移數據,大部分情況下VPS上都已經安裝了Nginx或者類似的web server,直接將要傳輸的文件放到web server的目錄,然後在目標機器上執行:wget http://www.vpser.net/testfile.zip 就行了。當VPS上沒有安裝web server和ftp server的時候或感覺上面的方法比較麻煩,那麼用scp命令就會排上用場。
scp是secure copy的簡寫,用於在Linux下進行遠程拷貝文件的命令,和它類似的命令有cp,不過cp只是在本機進行拷貝不能跨服務器,而且scp傳輸是加密的。可能會稍微影響一下速度。
1、我們需要獲得遠程服務器上的某個文件,遠程服務器既沒有配置ftp服務器,沒有開啟web服務器,也沒有做共享,無法通過常規途徑獲得文件時,只需要通過scp命令便可輕松的達到目的。
2、我們需要將本機上的文件上傳到遠程服務器上,遠程服務器沒有開啟ftp服務器或共享,無法通過常規途徑上傳是,只需要通過scp命令便可以輕松的達到目的。
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表示保存在本地上的路徑和文件名。
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/表示保存在本地上的路徑。
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 表示保存在遠程服務器上目錄和文件名。
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/ 表示保存在遠程服務器上的目錄位置。
-v 和大多數 linux 命令中的 -v 意思一樣 , 用來顯示進度 . 可以用來查看連接 , 認證 , 或是配置錯誤 .
-C 使能壓縮選項 .
-4 強行使用 IPV4 地址 .
-6 強行使用 IPV6 地址 .