Linux远程操作(rcp/rsh)命令实战

本文详细介绍Linux环境下rcp和rsh命令的使用方法,包括配置过程、命令语法及实例演示,帮助读者掌握远程文件复制和执行远程命令的技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 
Linux远程操作(rcp/rsh)命令实战
 
1. rcp
1.1为使用 rcp 做准备
要使用 rcp ,需要具备以下条件:
( 1 )如果系统中有 /etc/hosts 文件,系统管理员应确保该文件包含要与之进行通信的远程主机的项。
/etc/hosts 文件中有一行文字,其中包含每个远程系统的以下信息:
internet_address   official_name   alias
例如:
9 . 186 . 10.***  blade1.ibm.com.cnblade1
( 2 ) .rhosts 文件
.rhosts 文件位于远程系统的主目录下,其中包含本地系统的名称和本地登录名。
例如,远程系统的 .rhosts 文件中的项可能是:
blade1 root
其中, blade1 是本地系统的名称, root 是本地登录名。这样, blade1 上的 root 即可在包含 .rhosts 文件的远程系统中来回复制文件。
1.2 配置过程
只对 root 用户生效
 1. 在双方 root 用户根目录下建立 .rhosts 文件 , 并将双方的 hostname 加进去 . 在此之前应在双方的 /etc/hosts 文件中加入对方的 IP 和 hostname
2. 把 rsh 服务启动起来 ,redhat 默认是不启动的。
  方法:用执行 ntsysv 命令 , 在 rsh 选项前用空格键选中 , 确定退出。 然后执行:
 service xinetd restart 即可。
3. 到 /etc/pam.d/ 目录下 , 把 rsh 文件中的 auth required 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. rsh
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
 
 
LoadRunner监控Linux rstat协议允许网络上的用户获得同一网络上各机器的性能参数。 需要下载3个包: (1)rsh-0.17-14.i386.rpm (2)rsh-server-0.17-14.i386.rpm (3)rpc.rstatd-4.0.1.tar.gz 一、安装rsh 查看是否安装并卸载rsh [root@localhost /]# rpm –qa |grep rsh      --查看是否安装rsh [root@localhost /]# rpm –e + 版本号   --卸载该版本 安装rsh,rsh-server [root@localhost /]# rpm –ivh rsh-0.17-14.i386.rpm [root@localhost /]# rpm –ivh rsh-server-0.17-14.i386.rpm 二、安装rstatd 下载并安装rstatd,下载地址:http://sourceforge.net/projects/rstatd,上传至/usr/local 查看是否安装,一般来说Linux都没有安装 [root@localhost /]# find / -name rpc.rstatd 安装rstatd [root@localhost /]# tar -xzvf rpc.rstatd-4.0.1.tar.gz [root@localhost /]# cd rpc.rstatd-4.0.1 [root@localhost /]# ./configure [root@localhost /]# make [root@localhost /]# make install 三、安装完成后配置rstatd目标守护进程xinetd,配置文件于/etc/xinet.d目录下 修改/etc/xinetd.d目录下面的3个conf(rogin,rsh,rexec)中的disable均设置为no [root@localhost /]# cd /etc/xinetd.d      --进入到/etc/xinetd.conf目录中 [root@localhost /]# vi rlogin     --编辑disable=no,保存 [root@localhost /]# vi rsh  --编辑disable=no,保存 [root@localhost /]# vi rexec --编辑disable=no,保存 四、启动rpc.rstatd [root@localhost /]# rpc.rstatd --启动rpc.rstatd进程 [root@localhost /]# rpcinfo -p --执行此命令检查rpc服务的状态 如果未出现上图的rstatd说明没有安装成功,需要重复以上步骤。 到这里为止,LR监控Linux必要的服务都已安装好了。 五、关闭防火墙 [root@localhost /]# service iptables stop 六、利用LR中的Controller监控Linux资源 在Controller中,将System Resource Graphs中的Unix resources拖到右侧的资源监控区域。 鼠标右键选择Add Measurements,添加被监控Linux的IP地址x.x.x.x,选择需要监控的性能指标,确认。 七、遇到的问题 1. LoadRunner监控Linux资源时弹出如下错误: Monitor name :UNIX Resources. Cannot initialize the monitoring on 192.168.52.189. Error while creating the RPC client. Ensure that the machine can be connected and that it runs the rstat daemon (use rpcinfo utility for this
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值