1. 程式人生 > >Linux傳檔案:本機傳其他機器和其他機器傳本機

Linux傳檔案:本機傳其他機器和其他機器傳本機

1、功能說明

scp就是security copy,用於將檔案或者目錄從一個Linux系統拷貝到另一個Linux系統下。scp傳輸資料用的是SSH協議,保證了資料傳輸的安全,其格式如下:

scp 遠端使用者名稱@IP地址:檔案的絕對路徑 本地Linux系統路徑 scp 本地Linux系統檔案路徑 遠端使用者名稱@IP地址:遠端系統檔案絕對路徑名

scp使用第一種格式是將遠端Linux系統上的某個檔案或者目錄拷貝到本地Linux系統上來,使用第二種是將本地的某個檔案或者目錄拷貝到遠端Linux系統的某個路徑下。

2、舉例

(1)目前我們處在IP為“192.168.60.133”的Linux系統下,計劃將系統下的/home/ixdba/etc.tar.gz檔案拷貝到IP為“192.168.60 168”的遠端Linux系統中root使用者下的/tmp目錄下: scp /home/ixdba/etc.tar.gz

[email protected]:/tmp 命令輸入完畢,會要求輸入“192.168.60.168”伺服器root的密碼,然後開始遠端拷貝資料。 如果我們處在“192.168.60.168”伺服器上,也可以使用下面的命令傳輸資料: scp [email protected]:/home/ixdba/etc.tar.gz /tmp 命令輸入完畢,此時會要求輸入“192.168.60.133”伺服器root的密碼,然後開始遠端拷貝資料。

例如:scp ./id_rsa.pub [email protected]:/home/jing.wei 進入一個伺服器將當前目錄下id_rsa.pub拷貝到另一個伺服器。

(2)將本地/etc目錄中所有的檔案和子目錄拷貝到IP為“192.168.60.135”的遠端Linux系統的root使用者下的/opt目錄中: scp -r /etc [email protected]:/opt 這裡的選項“r”與cp命令的“r”選項含義相同(遞迴複製)。

但是現在有一個問題是如果兩臺機器的埠號不是統一的話是沒法傳的,也就是說有時候我們必須指定埠號:

3、指定埠號

SCP對拷如何連線指定埠(非22埠)的遠端主機; 今天有要求需要對考檔案,突然發現命了不好使了~一看是伺服器埠不是22了,好吧~百度了一下找到方法: scp -P 9989 [email protected]

:/home/ligh/index.php [email protected]:/root

注意: 1. 引數-P 的位置一定要緊跟在scp命令後面 2. 引數-P 指的是遠端主機的埠,而非本地主機的埠