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