Linux遠程操作(rcp/rsh)命令實戰

轉自http://hi.baidu.com/eyi326/blog/item/924a44dd27192ada8c1029da.html
1. rcp
1.1爲使用 rcp 做準備
要使用 rcp,需要具備以下條件:
1)如果系統中有 /etc/hosts 文件,系統管理員應確保該文件包含要與之進行通信的遠程主機的項。
/etc/hosts 文件中有一行文字,其中包含每個遠程系統的以下信息:
internet_address     official_name     alias
例如:
918610.***    blade1.ibm.com.cnblade1
2.rhosts 文件
.rhosts 文件位於遠程系統的主目錄下,其中包含本地系統的名稱和本地登錄名。
例如,遠程系統的 .rhosts 文件中的項可能是:
blade1 root
其中,blade1 是本地系統的名稱,root 是本地登錄名。這樣,blade1 上的 root 即可在包含 .rhosts 文件的遠程系統中來回複製文件。
1.2 配置過程
只對root用戶生效
1. 在雙方root用戶根目錄下建立.rhosts文件,並將雙方的hostname加進去.在此之前應在雙方的 /etc/hosts文件中加入對方的IPhostname
2. rsh服務啓動起來,redhat默認是不啓動的。
方法:用執行ntsysv命令,rsh選項前用空格鍵選中,確定退出。然後執行:
service xinetd restart即可。
3. /etc/pam.d/目錄下,rsh文件中的auth required /lib/security/pam_securetty.so
一行用“#”註釋掉即可。(只有註釋掉這一行,才能用root用戶登錄)
1.3 命令使用
將文件複製到遠程系統
要將本地系統中的文件複製到遠程系統,請使用以下命令:
rcplocal_fileremote_hostname:remote_fileEnter
注意,如果當前目錄下沒有 local_file,則除本地文件名外,還需要提供相對路徑(自當前目錄開始)或絕對路徑名(自 / 開始)。
僅當希望將 remote_hostname 上的 remote_file 放到其他目錄(遠程主目錄除外)下時,才需要爲其指定完整的(絕對)路徑。
示例
將當前目錄下的 myfile 複製到名爲 blade3的遠程系統:
rcp myfile blade3:/home/root/otherdirEnter
在這種情況下,myfile 被複制到遠程子目錄 otherdir 下,名稱仍爲 myfile。如果僅提供了遠程主機名,rcp 將把 myfile 複製到遠程主目錄下,名稱仍爲 myfile
還可以在目的目錄中包含文件名。例如,將文件複製到名爲 blade3的系統中:
rcp myfile blade3:/home/root/otherfileEnter
在這種情況下,將 myfile 複製到遠程目錄root 下並將其命名爲 otherfile
從遠程系統複製文件
要將遠程系統中的文件複製到本地目錄下,請使用以下語法:
rcp remote_hostname:remote_file local_fileEnter
示例
將遠程系統 blade3中的 myfile 複製到當前目錄:
rcp blade3:/home/root/myfile .Enter
(.) 是“當前目錄”的簡寫形式。在這種情況下,遠程目錄中的 myfile 被複制到當前目錄下,名稱仍爲 myfile
如果希望用新名稱複製文件,請提供目標文件名。
如果希望將 myfile 複製到本地系統中的其他目錄下,請使用以下絕對或相對路徑名:
rcp blade3:/home/root/myfile otherdir/ Enter
或者,如果希望用其他文件名將文件複製到其他目錄下:
rcp blade3:/home/root/myfile otherdir/otherfile Enter
將目錄複製到遠程系統
要將本地目錄及其文件和子目錄複製到遠程系統,請同時使用 rcp -r(遞歸)選項。
語法如下:
rcp –r local_dir remote_hostname:remote_dir Enter
如果當前目錄下沒有 local_dir,則除本地目錄名外,還需要提供相對路徑名(自當前目錄開始)或絕對路徑名(自 / 頂級目錄開始)。另外,如果主目錄下沒有 remote_dir,則 remote_dir 將需要一個相對路徑(自主目錄開始)或絕對路徑(自 / 開始)。
示例
要將名爲 work 的子目錄完整地複製到 blade1 遠程計算機中的主目錄下名爲 products 的目錄,請鍵入以下內容:
rcp –r work blade1:/home/root/products Enter
此命令在 blade1:/home/root/products 下創建名爲 work 的目錄及其全部內容(假定 /home/root/products 已存在於 blade1 中)。
本示例假定用戶處於包含 work 的本地目錄下。否則,必須提供該目錄的相對或絕對路徑,如 /home/root/work
從遠程系統複製目錄
要將遠程目錄及其所有文件和子目錄複製到本地目錄,請在以下語法中使用 rcp -r(遞歸)選項。
rcp –r remote_hostname:remote_dir local_dir Enter
示例
要將名爲 work 的遠程目錄複製到當前目錄,請鍵入以下內容:
rcp –r blade1:/home/root/work .Enter
(.) 表示當前目錄。將在此目錄下創建 work 目錄。
2.1 rsh使用條件 同1.1
2.2 rsh配置過程
直接rsh作爲root.
a.在服務器上運行/urs/bin/ntsysv選中rexec,rlogin,rsh三項服務。
b.運行#/sbin/servicexinetdrestart啓動該三項服務。
c.運行#echo"rexec">>/etc/securetty;echo"rlogin">>/etc/securetty;echo"rsh">>/etc/securetty
d.在服務器上運行#echo"你的ip地址root">>/root/.rhosts
或者#echo"你的主機名root">>/root/.rhosts且確保在服務器上的/etc/hosts中有主機名和ip地址的映射關係
e/etc/pam.d/目錄下,rexec,rlongin,rsh文件中的auth required /lib/security/pam_securetty.so 一行用“#”註釋掉即可。(只有註釋掉這一行,才能用root用戶登錄)
2.3 rsh命令用法
命令rsh有兩個一般的參數,一個系統名和一個Linux命令。語法如下所示:
$rsh remote-sytem-neame Linux-command
在下面的例子中,rsh命令將在遠程系統blade1中執行一個ls命令以列出在blade1中目錄/home/root中的文件。
$rsh blade1 ls /home/root
除非是引用特定字符,否則它將被本系統解釋轉換,對於控制標準輸出的特殊字符更是如此,象重定向或管道字符。下面的例了中列出遠程系統上的文件,並把它們送到本系統中的標準輸出。重定向操作由本地系統解釋,並把輸出改向到本地系統中的文件myfiles中。
$rsh blade1 ls /home/root>myfiles
如您引用一個特定字符,它將成爲Linux命令的一部分被遠程系統解釋。引用重定向操作符將允許您在遠程系統中執行重定向操作。下面的例子中,引用一個重定向操作符。它變成Linux命令的一部分,包括命令的參數,文件名myfile。命令ls產生一列文件名並把它們重定向到遠程系統中的一個文件myfile中。
$rsh blade1 ls /home/root '>' myfiles
對於管道操作也是如此。下面例子中第一個命令輸出一列文件到本地的打印機中。標準的輸出能過管道輸出到您的在線打印機中。第二個命令中,一列文件將輸出遠程系統的打印機上。管道線被遠程系統解釋。輸送標準輸出到遠程系統的打印機上。
$rsh blade1 ls /home/root | lpr
$rsh blade1 ls /home/root '|' lpt
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章