1. 程式人生 > >Linux關於scp命令

Linux關於scp命令

傳輸 例子 1.4 sta 免密 應用 linux 選項 nbsp

聲明:本文主要轉自https://www.2cto.com/os/201503/379474.html

scp主要應用場景如下:

(1)必要時,每個季度或者每月將數據由這臺服務器傳輸到另外一臺,不過前提需要做免密處理;

(2)有些時候覺得通過winscp或者是其他傳輸工具上傳到另外一臺服務器很麻煩,可以直接通過scp傳輸,但是有個前提,就是網速必須給力,否則,會非常非常的慢;

個人覺得挺實用的,有用到的朋友可以參考。

指令: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指定了遠程的目錄以及文件名

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

Linux關於scp命令