scp
加密的方式在本地主機和遠程主機之間復制文件
補充說明
scp命令 用于在linux下進行遠程拷貝文件的命令,和它類似的命令有cp,不過cp只是在本機進行拷貝不能跨服務器,而且scp傳輸是加密的。可能會稍微影響一下速度。當你服務器硬盤變為只讀read only system時,用scp可以幫你把文件移出來。另外,scp還非常不占資源,不會提高多少系統負荷,在這一點上,rsync就遠遠不及它了。雖然 rsync比scp會快一點,但當小文件眾多的情況下,rsync會導致硬盤I/O非常高,而scp基本不影響系統正常使用。
語法
scp(選項)(參數)
選項
-1:使用ssh協議版本1;
-2:使用ssh協議版本2;
-4:使用ipv4;
-6:使用ipv6;
-B:以批處理模式運行;
-C:使用壓縮;
-F:指定ssh配置文件;
-i:identity_file 從指定文件中讀取傳輸時使用的密鑰文件(例如亞馬遜云pem),此參數直接傳遞給ssh;
-l:指定寬帶限制;
-o:指定使用的ssh選項;
-P:指定遠程主機的端口號;
-p:保留文件的最后修改時間,最后訪問時間和權限模式;
-q:不顯示復制進度;
-r:以遞歸方式復制。
參數
- 源文件:指定要復制的源文件。
- 目標文件:目標文件。格式為user@host:filename(文件名為目標文件的名稱)。
實例
從遠程復制到本地的scp命令與上面的命令雷同,只要將從本地復制到遠程的命令后面2個參數互換順序就行了。
從遠處復制文件到本地目錄
scp root@10.10.10.10:/opt/soft/Nginx-0.5.38.tar.gz /opt/soft/
從10.10.10.10機器上的/opt/soft/的目錄中下載nginx-0.5.38.tar.gz 文件到本地/opt/soft/目錄中。
從云復制Open到本地目錄
scp -i amon.pem ubuntu@10.10.10.10:/usr/local/openvpn_as/etc/exe/open-connect-2.1.3.110.dmg open-connect-2.1.3.110.dmg
從10.10.10.10機器上下載open安裝文件到本地當前目錄來。
從遠處復制到本地
scp -r root@10.10.10.10:/opt/soft/mongodb /opt/soft/
從10.10.10.10機器上的/opt/soft/中下載mongodb目錄到本地的/opt/soft/目錄來。
上傳本地文件到遠程機器指定目錄
scp /opt/soft/nginx-0.5.38.tar.gz root@10.10.10.10:/opt/soft/scptest
# 指定端口 2222
scp -rp -P 2222 /opt/soft/nginx-0.5.38.tar.gz root@10.10.10.10:/opt/soft/scptest
復制本地/opt/soft/目錄下的文件nginx-0.5.38.tar.gz到遠程機器10.10.10.10的opt/soft/scptest目錄。
上傳本地目錄到遠程機器指定目錄
scp -r /opt/soft/mongodb root@10.10.10.10:/opt/soft/scptest
上傳本地目錄/opt/soft/mongodb到遠程機器10.10.10.10上/opt/soft/scptest的目錄中去。