Linux 指令詳解 scp 在linux主機間傳輸文件

指令:scp
在不同的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



3、複製目錄
當需要傳輸目錄的時候,僅需要加上參數-r即可以,例如
# scp -r /doiido/hello/ [email protected]:/doiido/



4、注意:
4.1:如果遠程服務器修改了ssh端口,scp則需要使用修改後的端口,如遠程服務器ssh端口爲2222,則需加-P參數:
# scp -p 2222 /doiido/hello.sh [email protected]:/doiido

4.2:在使用scp之前,需要確認遠程連接的用戶是否具有讀取遠程服務器相應文件的權限。同時還需要注意,執行scp這條指令的用戶是否具有本地相應目錄的權限。




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章