scp是secure copy的簡寫,用於在Linux下進行遠程拷貝文件的命令,和它類似的命令有cp,不過cp只是在本機進行拷貝不能跨服務器,而且scp傳輸是加密的。當你服務器硬盤變為只讀 read only system時,用scp可以幫你把文件移出來。
註解
類似的工具有rsync;scp消耗資源少,不會提高多少系統負荷,在這一點上,rsync就遠遠不及它了。rsync比scp會快一點,但當小文件多的情況下,rsync會導致硬盤I/O非常高,而scp基本不影響系統正常使用。
scp [參數] [原路徑] [目標路徑]
複製文件:
$scp local_file remote_username@remote_ip:remote_folder
$scp local_file remote_username@remote_ip:remote_file
$scp local_file remote_ip:remote_folder
$scp local_file remote_ip:remote_file
指定了用戶名,命令執行後需要輸入用戶密碼;如果不指定用戶名,命令執行後需要輸入用戶名和密碼;
複製目錄:
$scp -r local_folder remote_username@remote_ip:remote_folder
$scp -r local_folder remote_ip:remote_folder
第1個指定了用戶名,命令執行後需要輸入用戶密碼; 第2個沒有指定用戶名,命令執行後需要輸入用戶名和密碼;
註解
從遠程複製到本地的scp命令與上面的命令一樣,只要將從本地複製到遠程的命令後面2個參數互換順序就行了。
$scp root@10.6.159.147:/opt/soft/demo.tar /opt/soft/
說明: 從10.6.159.147機器上的/opt/soft/的目錄中下載demo.tar 文件到本地/opt/soft/目錄中
$scp -r root@10.6.159.147:/opt/soft/test /opt/soft/
說明: 從10.6.159.147機器上的/opt/soft/中下載test目錄到本地的/opt/soft/目錄來。
$scp /opt/soft/demo.tar root@10.6.159.147:/opt/soft/scptest
說明: 複製本地opt/soft/目錄下的文件demo.tar 到遠程機器10.6.159.147的opt/soft/scptest目錄
$scp -r /opt/soft/test root@10.6.159.147:/opt/soft/scptest
說明: 上傳本地目錄 /opt/soft/test到遠程機器10.6.159.147上/opt/soft/scptest的目錄中