使在兩臺Linux主機之間的文件復制操作更簡單
rcp命令 使在兩臺Linux主機之間的文件復制操作更簡單。通過適當?shù)呐渲茫趦膳_Linux主機之間復制文件而無需輸入密碼,就像本地文件復制一樣簡單。
rcp(選項)(參數(shù))
-p:保留源文件或目錄的屬性,包括擁有者、所屬群組、權(quán)限與時間;
-r:遞歸處理,將指定目錄下的文件與子目錄一并處理;
-x:加密兩臺Linux主機間傳送的所有信息。
-D:指定遠程服務器的端口號。
同名用戶的主目錄。如果沒有給出遠程用戶名,就使用當前用戶名。如果遠程機上的路徑包含特殊shell字符,需要用反斜線\\
、雙引號""
或單引號''
括起來,使所有的shell元字符都能被遠程地解釋。需要說明的是,rcp不提示輸入口令,它通過rsh命令來執(zhí)行拷貝。
directory?每個文件或目錄參數(shù)既可以是遠程文件名也可以是本地文件名。遠程文件名具有如下形式rname@rhost:path
,其中rname是遠程用戶名,rhost是遠程計算機名,path是這個文件的路徑。
源文件:指定要復制的源文件。源文件可以有多個。
rcp命令使用條件
如果系統(tǒng)中有/etc/hosts
文件,系統(tǒng)管理員應確保該文件包含要與之進行通信的遠程主機的項。配置過程:
只對root用戶生效
1、在雙方root用戶根目錄下建立rhosts文件,并將雙方的hostname加進去。在此之前應在雙方的/etc/hosts
文件中加入對方的ip和hostname
2、把rsh服務啟動起來,redhat默認是不啟動的。
方法:用執(zhí)行ntsysv命令,在rsh選項前用空格鍵選中,確定退出。然后執(zhí)行service?xinetd?restart
即可。
3、到/etc/pam.d/
目錄下,把rsh文件中的auth?required?/lib/security/pam_securetty.so
一行用“#”注釋掉即可。(只有注釋掉這一行,才能用root用戶登錄)
將當前目錄下的?test1?復制到名為?webserver1 的遠程系統(tǒng):
rcp test1 webserver1:/home/root/test3
在這種情況下,test1?被復制到遠程子目錄?test3下,名稱仍為?test1?。如果僅提供了遠程主機名,rcp?將把?test1?復制到遠程主目錄下,名稱仍為?test1?。
還可以在目的目錄中包含文件名。例如,將文件復制到名為?webserver1的系統(tǒng)中:
rcp test1 webserver1:/home/root/test3
在這種情況下,將?test1?復制到遠程目錄root?下并將其命名為?test3。
從遠程系統(tǒng)復制文件:要將遠程系統(tǒng)中的文件復制到本地目錄下:
rcp remote_hostname:remote_file local_fileEnter
將遠程系統(tǒng)?webserver1中的?test2?復制到當前目錄:
rcp webserver1:/home/root/test2 .Enter
.
是“當前目錄”的簡寫形式。在這種情況下,遠程目錄中的?test2?被復制到當前目錄下,名稱仍為?test2?。
如果希望用新名稱復制文件,請?zhí)峁┠繕宋募H绻M麑?test2?復制到本地系統(tǒng)中的其他目錄下,請使用以下絕對或相對路徑名:
rcp webserver1:/home/root/test2 otherdir/ Enter
或者,如果希望用其他文件名將文件復制到其他目錄下:
rcp webserver1:/home/root/test2 otherdir/otherfile Enter
將目錄復制到遠程系統(tǒng):
要將本地目錄及其文件和子目錄復制到遠程系統(tǒng),請同時使用?rcp?和?-r(遞歸)選項。
rcp -r local_dir remote_hostname:remote_dir Enter
如果當前目錄下沒有?local_dir,則除本地目錄名外,還需要提供相對路徑名(自當前目錄開始)或絕對路徑名(自?/?頂級目錄開始)。另外,如果主目錄下沒有?remote_dir,則?remote_dir?將需要一個相對路徑(自主目錄開始)或絕對路徑(自?/?開始)。
要將名為?work?的子目錄完整地復制到?webserver1遠程計算機中的主目錄下名為?products?的目錄,請鍵入以下內(nèi)容:
rcp -r work webserver1:/home/root/products Enter
此命令在webserver1:/home/root/products
下創(chuàng)建名為?work?的目錄及其全部內(nèi)容(假定/home/root/products
已存在于?webserver1中)。
本示例假定用戶處于包含?work?的本地目錄下。否則,必須提供該目錄的相對或絕對路徑,如/home/root/work
。
從遠程系統(tǒng)復制目錄:
要將遠程目錄及其所有文件和子目錄復制到本地目錄,請在以下語法中使用?rcp?和?-r(遞歸)選項。
rcp –r remote_hostname:remote_dir local_dir Enter
要將名為?work?的遠程目錄復制到當前目錄,請鍵入以下內(nèi)容:
rcp –r webserver1:/home/root/work .Enter
.
表示當前目錄。將在此目錄下創(chuàng)建?work?目錄。