在不同的linux主機間複製文件
帶有Security的文件copy,基於ssh登錄。
有些linux發行版沒有自帶scp,因此需要安裝scp
# yum -y install openssh-clients
基本語法:
# scp [參數] source target
常見參數
-v : 顯示進度,可以用來查看連接、認證或是配置錯誤
-r : 賦值目錄
-C :使能壓縮選項
-P :選擇端口
-4 : 強行使用 IPV4 地址
-6 : 強行使用 IPV6 地址
常見的使用方式:
1、將本地複製到遠程
1.1 # scp local_file remote_username@remote_ip:remote_folder
1.2 # scp local_file remote_username@remote_ip:remote_folder/remote_file
1.3 # scp local_file remote_ip:remote_folder
1.4 # scp local_file remote_ip:remote_folder/remote_file
1.1和1.2指定了用戶名,命令執行後需要輸入遠程服務器的密碼
1.3和1.4未指定用戶名,命令執行後需要輸入遠程服務器的用戶名以及密碼
1.1和1.3僅指定了遠程的目錄,文件名字不變
1.2和1.4指定了遠程的目錄以及文件名
例子:
# scp /doiido/hello.sh [email protected]:/doiido
# scp /doiido/hello.sh [email protected]:/doiido/newhello.sh
# scp /doiido/hello.sh 192.168.100.2:/doiido
# scp /doiido/hello.sh 192.168.100.2:/doiido/newhello.sh
2、將遠程的複製到本地
從遠程複製到本地,只要將從本地複製到遠程的命令的後2個參數調換順序即可,由於語法一樣,這裏就只列出例子;# scp [email protected]:/doiido /doiido/hello.sh
# scp [email protected]:/doiido/hello.sh /doiido/newhello.sh
# scp 192.168.100.2:/doiido /doiido/hello.sh
# scp 192.168.100.2:/doiido/hello.sh /doiido/newhello.sh
當需要傳輸目錄的時候,僅需要加上參數-r即可以,例如
# scp -r /doiido/hello/ [email protected]:/doiido/
4.1:如果遠程服務器修改了ssh端口,scp則需要使用修改後的端口,如遠程服務器ssh端口爲2222,則需加-P參數:
# scp -p 2222 /doiido/hello.sh [email protected]:/doiido
4.2:在使用scp之前,需要確認遠程連接的用戶是否具有讀取遠程服務器相應文件的權限。同時還需要注意,執行scp這條指令的用戶是否具有本地相應目錄的權限。