1、mac上傳文件到Linux服務器
scp 文件名 用戶名@服務器ip:目標路徑
如:scp /Users/test/testFile test@www.linuxidc.com:/test/
2、mac上傳文件夾到Linux服務器,與上傳文件相比多加了-r
scp -r 文件夾目錄 用戶名@服務器ip:目標路徑
如:scp -r /Users/test/testFolder test@www.linuxidc.com:/test/
3、Linux服務器下載文件到mac
scp 用戶名@服務器ip:文件路徑 目標路徑
如:scp test@www.linuxidc.com:/test/testFile /Users/test/
4、Linux服務器下載文件夾到mac,與下載文件相比多加了-r
scp -r 用戶名@服務器ip:文件路徑 目標路徑 如:scp -r test@www.linuxidc.com:/test/testFolder /Users/test/
CentOS 不能使用scp命令 解決方法
在測試中需要在兩台虛擬機之間傳遞文件,首先想到的是scp命令,結果提示:
-bash: scp: command not found
想當然用yum install scp命令安裝,結果提示:
No package scp available.
后來發現scp這東西應該屬於openssh-clients這個包,運行:
yum install openssh-clients
再運行scp就可以了,再次運行:
scp 1.so root@192.168.0.182:/root/
輸入密碼后又再次提示:
bash: scp: command not found
在目標主機也同樣安裝一下openssh-clients,再次嘗試,問題解決。
Mac將本地文件上傳到服務器上
scp -P 22 /Java/program.war root@123.456.789.987:/usr/server/tomcat7/webapps/
上端口大寫P 為參數,22 表示更改SSH端口后的端口,如果沒有更改SSH端口可以不用添加該參數。 /Java/program.war表示本地上准備上傳文件的路徑和文件名。root@123.456.789.987 表示使用root用戶登錄遠程服務器www.vpser.NET,:/usr/server/tomcat7/webapps/ 表示保存在遠程服務器上目錄和文件名。
以上是本人實踐,以下是教程指令
Linux(MAC) 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使用方法
1、獲取遠程服務器上的文件
scp -P 2222 root@www.vpser.Net:/root/lnmp0.4.tar.gz /home/lnmp0.4.tar.gz
上 端口大寫P 為參數,2222 表示更改SSH端口后的端口,如果沒有更改SSH端口可以不用添加該參數。 root@www.vpser.net 表示使用root用戶登錄遠程服務器www.vpser.net,:/root/lnmp0.4.tar.gz 表示遠程服務器上的文件,最后面的/home/lnmp0.4.tar.gz表示保存在本地上的路徑和文件名。
2、獲取遠程服務器上的目錄
scp -P 2222 -r root@www.vpser.net:/root/lnmp0.4/ /home/lnmp0.4/
上 端口大寫P 為參數,2222 表示更改SSH端口后的端口,如果沒有更改SSH端口可以不用添加該參數。-r 參數表示遞歸復制(即復制該目錄下面的文件和目錄);root@www.vpser.net 表示使用root用戶登錄遠程服務器www.vpser.net,:/root/lnmp0.4/ 表示遠程服務器上的目錄,最后面的/home/lnmp0.4/表示保存在本地上的路徑。
3、將本地文件上傳到服務器上
scp -P 2222 /home/lnmp0.4.tar.gz root@www.vpser.net:/root/lnmp0.4.tar.gz
上 端口大寫P 為參數,2222 表示更改SSH端口后的端口,如果沒有更改SSH端口可以不用添加該參數。 /home/lnmp0.4.tar.gz表示本地上准備上傳文件的路徑和文件名。root@www.vpser.net 表示使用root用戶登錄遠程服務器www.vpser.net,:/root/lnmp0.4.tar.gz 表示保存在遠程服務器上目錄和文件名。
4、將本地目錄上傳到服務器上
scp -P 2222 -r /home/lnmp0.4/ root@www.vpser.net:/root/lnmp0.4/
上 端口大寫P 為參數,2222 表示更改SSH端口后的端口,如果沒有更改SSH端口可以不用添加該參數。-r 參數表示遞歸復制(即復制該目錄下面的文件和目錄);/home/lnmp0.4/表示准備要上傳的目錄,root@www.vpser.net 表示使用root用戶登錄遠程服務器www.vpser.net,:/root/lnmp0.4/ 表示保存在遠程服務器上的目錄位置。
5、可能有用的幾個參數 :
-v 和大多數 linux 命令中的 -v 意思一樣 , 用來顯示進度 . 可以用來查看連接 , 認證 , 或是配置錯誤 .
-C 使能壓縮選項 .
-4 強行使用 IPV4 地址 .
-6 強行使用 IPV6 地址 .
附上將DiaHosting VPS 上的文件 scp傳輸Linode上的截圖,速度在10MB/s:
Linux(MAC) SSH遠程文件/索引傳輸命令scp