每天一個(ge)linux命令(59):rcp命令
rcp代表“remote file copy”(遠程文件(jian)(jian)拷貝(bei))。該命(ming)令用于在計算機之(zhi)間(jian)拷貝(bei)文件(jian)(jian)。rcp命(ming)令有(you)兩種格(ge)式(shi)(shi)。第(di)一種格(ge)式(shi)(shi)用于文件(jian)(jian)到(dao)文件(jian)(jian)的(de)拷貝(bei);第(di)二種格(ge)式(shi)(shi)用于把文件(jian)(jian)或(huo)目(mu)錄拷貝(bei)到(dao)另一個(ge)目(mu)錄中(zhong)。
1.命令格式:
rcp [參(can)數] [源文(wen)件] [目標文(wen)件]
2.命令功能:
rcp命令用在遠端復制文(wen)件或(huo)目錄,如同(tong)時(shi)指(zhi)定兩(liang)個以上的文(wen)件或(huo)目錄,且最后的目的地是一個已經存在的目錄,則它會把(ba)前面(mian)指定的所(suo)有文件(jian)或目(mu)(mu)錄(lu)復制到該目(mu)(mu)錄(lu)中。
3.命令(ling)參(can)數(shu):
各(ge)選(xuan)項(xiang)含義:
-r 遞歸地把源目(mu)(mu)錄(lu)中的所(suo)有內容拷貝(bei)到目(mu)(mu)的目(mu)(mu)錄(lu)中。要(yao)使(shi)用這個選(xuan)項,目(mu)(mu)的必須(xu)是一(yi)個目(mu)(mu)錄(lu)。
-p 試圖保留源文件的(de)修改時間和(he)模式,忽(hu)略umask。
-k 請求rcp獲(huo)得在(zai)指定(ding)區域內(nei)的(de)(de)遠程主(zhu)機的(de)(de)Kerberos 許可(ke),而不是(shi)獲(huo)得由krb_relmofhost⑶確定(ding)的(de)(de)遠程主(zhu)機區域內(nei)的(de)(de)遠程主(zhu)機的(de)(de)Kerberos許可(ke)。
-x 為傳送的(de)(de)所有(you)數據打開(kai)DES加密(mi)。這會(hui)影響響應時間和CPU利用率,但是可以提高安(an)全性。如果(guo)在文件名(ming)中指定的(de)(de)路徑不(bu)(bu)是完整的(de)(de)路徑名(ming),那么這個路徑被解釋為相對遠(yuan)程(cheng)機上同名(ming)用戶(hu)的(de)(de)主目錄。如果(guo)沒有(you)給出(chu)遠(yuan)程(cheng)用戶(hu)名(ming),就使用當前用戶(hu)名(ming)。如果(guo)遠(yuan)程(cheng)機上的(de)(de)路徑包含特殊(shu)shell字(zi)(zi)符,需要用反斜線(xian)(\\)、雙(shuang)引號(hao)(”)或單引號(hao)(’)括起(qi)來,使所有(you)的(de)(de)shell元(yuan)字(zi)(zi)符都能被遠(yuan)程(cheng)地解釋。需要說明的(de)(de)是,rcp不(bu)(bu)提示輸入口令,它通(tong)過rsh命令來執行拷(kao)貝(bei)。
directory 每個(ge)文件(jian)(jian)或(huo)目錄參數既(ji)可(ke)以是(shi)遠(yuan)(yuan)程文件(jian)(jian)名(ming)(ming)(ming)也可(ke)以是(shi)本地文件(jian)(jian)名(ming)(ming)(ming)。遠(yuan)(yuan)程文件(jian)(jian)名(ming)(ming)(ming)具有如下形(xing)式:rname@rhost:path,其中rname是(shi)遠(yuan)(yuan)程用戶(hu)名(ming)(ming)(ming),rhost是(shi)遠(yuan)(yuan)程計算機名(ming)(ming)(ming),path是(shi)這個(ge)文件(jian)(jian)的(de)路(lu)徑。
4.使用(yong)實(shi)例:
要使用 rcp,需要具備(bei)以(yi)下條件:
如果系統中(zhong)有 /etc/hosts 文件(jian)(jian),系統管理員應確保該文件(jian)(jian)包含要與之進(jin)行(xing)通(tong)信的遠程主機的項(xiang)。
/etc/hosts 文(wen)(wen)件中(zhong)有一行文(wen)(wen)字,其中(zhong)包含每(mei)個遠(yuan)程系統的以下信息:
internet_address official_name alias
例如:
9.186.10.*** webserver1.com.58.webserver
.rhosts 文(wen)件
.rhosts 文件(jian)位于遠程系統的主目錄下,其中包含本(ben)地系統的名稱和本(ben)地登錄名。
例如(ru),遠程系統的(de) .rhosts 文件(jian)中的(de)項可能是:
webserver1 root
其中,webserver1 是本地(di)系統的名稱,root 是本地(di)登錄名。這(zhe)樣,webserver1 上的(de) root 即(ji)可在包含 .rhosts 文(wen)件(jian)的(de)遠程系統(tong)中來回復制文(wen)件(jian)。
配置過(guo)程:
只對(dui)root用(yong)戶生(sheng)效
1. 在(zai)(zai)(zai)雙方root用戶(hu)根目錄(lu)下建立.rhosts文件,并(bing)將(jiang)雙方的hostname加(jia)進(jin)去.在(zai)(zai)(zai)此之前應(ying)在(zai)(zai)(zai)雙方的 /etc/hosts文件中加(jia)入(ru)對方的IP和(he)hostname
2. 把(ba)rsh服務啟(qi)動(dong)起(qi)來,redhat默認是不啟(qi)動(dong)的。
方法:用執行ntsysv命令,在rsh選項前(qian)用空格鍵選中,確定退(tui)出(chu)。然后執行:
service xinetd restart即可。
3. 到/etc/pam.d/目錄下(xia),把(ba)rsh文件中的auth required /lib/security/pam_securetty.so
一行用(yong)“#”注(zhu)釋掉(diao)即可。(只有注(zhu)釋掉(diao)這一行,才能用(yong)root用(yong)戶登錄)
命令使用:
將文件復制到遠程系統
要(yao)將本地系(xi)(xi)統(tong)中的文件復制到遠(yuan)程(cheng)系(xi)(xi)統(tong),請使用以下命令:
rcplocal_fileremote_hostname:remote_fileEnter
注意(yi),如果當前目錄(lu)下沒有 local_file,則除本地文件名外,還需要提(ti)供(gong)相對(dui)路(lu)徑(自當前目錄(lu)開始)或絕(jue)對(dui)路(lu)徑名(自 / 開始)。
僅當希望將 remote_hostname 上的 remote_file 放(fang)到其他目錄(遠程主目錄除外(wai))下時,才需要為其指定完整的(絕(jue)對)路徑。
使用實例(li)1:將當前(qian)目錄下的 test1 復制到名為 webserver1的遠程系統(tong)
命令:
rcp test1 webserver1:/home/root/test3
說明:
在這種情況下,test1 被復制到遠(yuan)程子目(mu)錄 test3下,名稱仍為 test1 。如果僅(jin)提供了遠程主機名,rcp 將把 test1 復制到遠程(cheng)主目錄下(xia),名稱仍為 test1 。
還可(ke)以在目的(de)目錄中包含文件名(ming)。例如,將文件復制(zhi)到名(ming)為 webserver1的(de)系統中:
rcp test1 webserver1:/home/root/test3
在這種情(qing)況(kuang)下,將 test1 復制(zhi)到遠程(cheng)目錄(lu)root 下(xia)并(bing)將其(qi)命(ming)名為(wei) test3。
使用實例2:從遠程系統復制文(wen)件:要將(jiang)遠程系統中的文件復制到本地(di)目錄下
命令:
rcp remote_hostname:remote_file local_fileEnter
使用實例(li):3:將(jiang)遠程系統 webserver1中的 test2 復制到當前(qian)目錄:
命令:
rcp webserver1:/home/root/test2 .Enter
說明:
點 (.) 是“當前(qian)目(mu)錄(lu)”的簡寫形(xing)式。在這種情況(kuang)下(xia),遠(yuan)程目(mu)錄(lu)中的 test2 被復制到當前目錄下,名稱仍為 test2 。
如果希望用(yong)新名稱復制文(wen)件(jian),請提供目標(biao)文(wen)件(jian)名。
如(ru)果希望將(jiang) test2 復制到本(ben)地系統(tong)中的其他(ta)目錄下(xia),請使用以下(xia)絕對或相對路徑名:
rcp webserver1:/home/root/test2 otherdir/ Enter
或者,如果希望用其(qi)他文件名(ming)將文件復制到其(qi)他目錄下:
rcp webserver1:/home/root/test2 otherdir/otherfile Enter
使(shi)用實例4:將(jiang)目(mu)錄復制到(dao)遠程系統:要將本地(di)目錄及其文件和子(zi)目錄復(fu)制到遠程系統,請(qing)同時使用 rcp 和 -r(遞歸)選(xuan)項。
命令:
rcp –r local_dir remote_hostname:remote_dir Enter
說明:
如果(guo)當前目(mu)錄下沒(mei)有 local_dir,則除(chu)本地目(mu)錄名外(wai),還(huan)需要提供(gong)相對路(lu)徑(jing)名(自當前目(mu)錄開(kai)始(shi)(shi))或(huo)絕對路(lu)徑(jing)名(自 / 頂(ding)級目(mu)錄開(kai)始(shi)(shi))。另外(wai),如果(guo)主目(mu)錄下沒(mei)有 remote_dir,則 remote_dir 將需要一個相對路(lu)徑(jing)(自主目(mu)錄開(kai)始(shi)(shi))或(huo)絕對路(lu)徑(jing)(自 / 開(kai)始(shi)(shi))。
使用實(shi)例(li)5:
要將名為 work 的子(zi)目錄完整地復制到 webserver1遠程計(ji)算機中的主目(mu)錄(lu)下名為(wei) products 的目(mu)錄(lu),請鍵(jian)入(ru)以下內容:
rcp –r work webserver1:/home/root/products Enter
此命令在 webserver1:/home/root/products 下創建名為 work 的目錄(lu)及其全(quan)部內(nei)容(假定(ding) /home/root/products 已(yi)存在于 webserver1中(zhong))。
本示例假定(ding)用戶處于(yu)包(bao)含(han) work 的本地目錄(lu)下。否則,必須(xu)提供該(gai)目錄(lu)的相對或(huo)絕對路徑,如 /home/root/work。
使(shi)用實(shi)例6:從遠程系統復制目錄:
要(yao)將遠程目(mu)錄(lu)(lu)及其所(suo)有文件和(he)子(zi)目(mu)錄(lu)(lu)復制到(dao)本地目(mu)錄(lu)(lu),請在以下語法中使用 rcp 和(he) -r(遞歸(gui))選項。
命令(ling):
rcp –r remote_hostname:remote_dir local_dir Enter
要將名為 work 的遠程(cheng)目(mu)(mu)錄復制到當前(qian)目(mu)(mu)錄,請鍵(jian)入以下內容(rong):
rcp –r webserver1:/home/root/work .Enter
點 (.) 表示(shi)當前目錄。將在此目錄下創建(jian) work 目錄。
關注 熵減黑客 ,一起學習成長
