免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: haoji
打印 上一主题 下一主题

Unix网络 [复制链接]

论坛徽章:
0
211 [报告]
发表于 2008-05-17 22:10 |只看该作者
第16章UUCP 217
下载
在U U C P网络中,一个系统与其他地方的某个系统相连,而被连接的这个系统又可能与另外的
一些系统相连,并不是每个系统之间都直接相连。通过中间系统的转发,你可以向网络中的
任何一个远端系统发送信件。例如,如果m y t r a i n系统与s t a n系统相连,而s t a n系统又同时与
b e l l系统相连了,那么m y t r a i n系统上的用户就可以经过s t a n系统来访问b e l l系统。不过,这种
通信并不是实时进行的,所有的信件按照成批等待方式进行发送。

在路径寻址方式中,系统地址放在用户登录名的前面,中间用一个“!”分隔,格式如
下:

系统名!登录名

例如,下面的命令采用m a i l x程序向m y t r a i n系统上的d y l a n用户发送一封信件:

$ mailx mytrain!dylan < mydata


对于C - s h e l l,因为在命令行中的字符“ ! ”已用来代表历史命令,所以在上述路径寻址方式
中使用“ ! ”时,需要进行转义,即在它前面加上一个“\”。如下所示:

系统名\!登录名


mailx mytrain\!dylan < mydata

在U U C P网络中,如果你要访问远端系统,可能需要经过多个中间系统的转发才能实现。
在路径寻址方式中,需要在路径中指出中间系统的地址,将各个中间系统的名称依次放在目
标系统名称的前面,中间用“ ! ”分隔。如图1 6 - 1所示的网络中,如果你在m y t r a i n系统上向b e l l
系统上的a l e i n a用户发送信件,则路径地址应写为s t a n ! b e l l ! a l e i n a;如果你要将信件发送给在
l a r i s a系统上的r o s e用户,那么就必须在路径中指出三个中间系统。在下面给出的命令示例中,
第一个命令首先将信件发送给s t a n系统,然后由s t a n系统转发给b e l l系统上的a l e i n a;在第二个
命令中,信件首先发送给l i l a c,然后转发给s f,再由s f将信件转发给r o s e系统上的l a r i s a。如下
所示:

$ mailx stan!bell!aleina < mydata


$ mailx lilac!sf!rose!larisa < mydata


aleina
bell
rose
larisa
mytrain stan
stan!bell!aleina
lilac
lilac!sf!rose!larisa
sf
图16-1 UUCP网络中的路径寻址示意

有时候在U U C P网络中的两个系统之间存在多条路径,每条路径的长度和速度并不一样,
有些很慢而有些却很快,因此选择一条合适的路径就比较重要。对于图1 6 - 2所示网络,下面
给出了两个命令,分别列出了两条不同的路径到同一个目标系统,其中第一个命令中的路径
要经过三个中间系统,而第二个命令中的路径只要经过一个中间系统:

$ mailx lilac!mac!gameplace!rose!larisa < mydata

论坛徽章:
0
212 [报告]
发表于 2008-05-17 22:11 |只看该作者
218 第四部分远程访问
下载
$ mailx sf!rose!larisa < mydata



图16-2 具有不同长度的路径

16.2 显示连接系统命令:uuname
u u n a m e命令用来显示U U C P网络中所有相连的系统,示例如下:

$ u u n a m
e
m y t r a i
n
r o s
e
l i l a
c
$


如果在u u n a m e命令中带上- l选项,则显示本地系统的名字,如下所示:

$ uuname -
l
g a m e p l a c
e
$


缺省情况下,u u n a m e命令输出的系统列表送到标准输出,有时这种系统列表会很长,你
可能需要将它保存在一个文件里或者打印出来,而不仅仅是显示在屏幕上。可以使用重定命
令符对系统列表进行保存、打印或者使用过滤器查找指定的系统名。在下面的示例中,第一
个命令将系统列表保存在一个文件里,第二个命令则是将它打印出来,而第三个命令使用过
滤器g r e p查找指定的系统名是否在列表中:

$ uuname > syslist
$ uuname | lpr
$ uuname | grep mytrain
m y t r a i
n
$


如果要显示本地系统的信息,可以使用u n a m e(前面只有一个u)命令。

16.3 UUCP连接管理命令:uucico和uuxqt
u u c i c o程序用来处理系统中所有的U U C P通信,它是一个守护进程,将每一个U U C P传输
保存在/usr/lib/uucp/ uucppublic目录中。u u x q t程序则用来解释和执行每一个传输中指定的操
作。u u c i c o和u u x q t都属于系统管理操作,只能由r o o t用户执行。

如果是r o o t用户,就可以使用u u c i c o与另一个系统建立连接,连接成功后就能将U U C P命

论坛徽章:
0
213 [报告]
发表于 2008-05-17 22:12 |只看该作者
第16章UUCP 219
下载
令请求发送出去,然后接受答复并将另外的U U C U请求发送给其他系统,其语法格式如下:

uucico 选项远程登录名

其中有两个有用的选项,一个是- r,用来为重新拨号连接设置一个自动等待时间;另一个
是带上数字9的- x选项,用来设置调试状态,以便用户能看到u u c i c o命令的执行过程。在下面
的示例中,r o o t用户想建立一个与r o s e系统的连接:

# uucico -r -x 9 rose


16.4 UUCP命令
U U C P命令只用于U U C P网络,通过U U C P命令用户不但可以访问本地系统上的文件,也
可以访问另一个U n i x系统上的文件。不过,正如本地的命令一样,U U C P命令在远程系统上也
要受到权限限制,即只能访问那些远程系统用户允许访问的文件和目录。

主要有四个U U C P命令,分别是uuto 、u u p i c k、u u c p和u u x。其中u u t o命令用来向其他系
统发送文件,u u p i c k命令用来接受文件,这两个命令可用于发送和接受大型的文件。u u c p用
来从一个系统拷贝文件到另一个系统,u u x命令用来在另一个系统上远程执行U n i x命令。

16.5 文件传输命令:uuto和uupick
如上所述,uupick 和u u t o这两个命令分别用来收发文件,它们的操作有点像m a i l x命令。
u u t o命令是按照批处理方式操作的,你的请求必须首先与其他的请求一起排队等待,只有当
它位于队列前面时,才开始被发送出去。如果在等待发送的时间里,你又修改了需要发送的
文件,那就将已修改的文件发送出去。为了避免这种情况,可以在u u t o命令中带上- p选项,这
样系统就立即将当前要发送的文件拷贝到s p o o l目录中,发送时就把这份文件拷贝发送出去。
这种情况下,你在发送之前对原始文件的修改,就不会影响到真正发送出去的文件。另外,
u u t o命令还设有一个- m选项,用来发送文件时通知用户。表1 6 - 1中列出了u u t o命令的选项。它
的语法格式如下:


下面给出的命令,将m y d a t a文件发送到g a m e p l a c e系统上的m a r y l o u:

$ uuto mydata gameplace!marylou


u u p i c k命令用于接受由u u t o发送的文件。执行u u p i c k命令时,只要在命令行中键入u u p i c k,
不用带任何参数。在命令执行过程中,屏幕上依次显示出每一个从其他系统由u u t o命令发送
来的文件,并要求用户给出操作选择。如果要将文件移动到用户当前目录中,就只要输入
m;如果要将文件移动到指定目录中,就需要在m后指定目录路径。键入回车键后,屏幕上就
出现下一个接受文件的提示,经过用户再一次的选择后,又接着出现再下一个文件的提示,
以此类推,直到所有接受到的文件列表完毕为止。如果在选择时,用户不输任何值就敲入回
车键,则不处理当前显示的文件,而待下次执行u u p i c k命令时仍显示该文件。u u p i c k命令的用
户选择项也在表1 6 - 1中列出了。

在下面给出的示例中,u u p i c k命令向用户提示了三个接受到的文件。第一个文件是m y d a t a,
它被移动到当前目录中,然后显示了它的体积大小;第二个文件名叫w i n d a t a,它被移动到
s e a s o n目录中;第三个文件名叫p r o j e c t,它这次不被处理,待下次执行u u p i c k命令时还显示该

论坛徽章:
0
214 [报告]
发表于 2008-05-17 22:12 |只看该作者
220 第四部分远程访问
下载
文件。

$ u u p i c
k


from system gameplace: file mydata
?


m


10 blocks
from system mytrain: file windata
?


m /home/dylan/season


2 blocks
from system gameplace: file project
?
$


u u p i c k命令设有一个- s选项,用来查看从指定系统上发送过来的文件。其语法格式是在- s
选项后指定一个系统名,这样在命令执行过程中只向用户显示从指定系统发送过来的文件。
下面的示例中,u u p i c k命令只显示那些从g a m e p l a c e系统发送过来的文件:

$ uupick -s gameplace


表16-1 UUCP的一些命令及选项

命令及选项作用
u u n a m e和u u c i c o命令及选项
u n a m e 显示本地系统名
- m 机器类型
- n 网络节点主机名
- r 操作系统发布号
- s 操作系统名
- v 操作系统版本
- a 所有的信息
u u n a m e 列出所有相连的系统
- l 显示本地系统名
u u c i c o命令及选项
uucico 选项远程系统建立与远程系统的连接,只能由r o o t用户进行
u u c i c o选项
- r 1 采用主机模式启动
- s 如果没有指定系统,则呼叫任何一个需要连接的系统
- r 0 采用从机模式启动,这是缺省模式
- f 忽略任何被呼叫系统的等待请求
- l 分别采用“l o g i n :”和“P a s s w o r d :

提示登录名和密码
-p p o rt 指定呼叫或监听的端口号
- C 只在需要时呼叫指定的远程系统
-x t y p e 开启调试t y p e,如果为数字9则开启所有的t y p e
u u x q t 用来执行u u x请求的程序
u u t o和u u p i c k命令及选项
uuto 文件名目标地址用来向另一个系统发送大型文件
- m 当文件发送时通知发送者
- p 将文件拷贝到s p o o l目录中,发送拷贝的文件
u u p i c k命令及选项
u u p i c k 接受由u u t o命令发送来的文件,依次显示每一个文件
u u p i c k选项
m 目录将当前接受文件移动到指定目录中
a 目录将所有接受文件移动到指定目录中
d 删除当前接受文件
p 显示当前接受文件

论坛徽章:
0
215 [报告]
发表于 2008-05-17 22:13 |只看该作者
第16章UUCP 221
下载
(续)

命令及选项作用
e n t e r 输入回车键,确认一次选择
q 终止u u p i c k
* 列出u u p i c k命令信息
!c m d 转到本地s h e l l上执行一个U n i x命令

16.6 文件拷贝命令:uucp和uustat
u u c p命令用于直接在两个系统之间拷贝文件,它要求有两个参数,即源文件名和目标文
件名。其语法格式如下:

$ uucp 源文件目标文件

使用u u c p命令,可以从本地系统上的目录拷贝文件到远程系统上的某个目录中,或者从
远程目录中拷贝文件到本地目录中。在两种情况下,都要求在命令中指出远程系统的名称。
在下面给出的命令中,将本地文件m y d a t a拷贝到远程系统g a m e p l a c e上的c h r i s目录中:

$ uucp mydata gameplace!/home/chris/mydata


u u c p命令也以批处理方式在后台进行操作,你的u u c p请求首先需要排队等待,只有在队
列前面时,系统才能执行。如果在等待执行的时间里,你又修改了需要拷贝的文件,那执行
拷贝时就对修改的文件进行拷贝。为了避免这种情况,可以在u u c p命令中带上- C选项,这样
系统就立即将当前要拷贝的文件拷贝到s p o o l目录中,在真正执行u u c p请求时就使用spool 目录
中的文件版本。表1 6 - 2中列出了各种u u c p选项。在下面的示例中,m y d a t a文件被拷贝到s p o o l
目录,在执行u u c p命令进行远程拷贝时就使用s p o o l目录中的m y d a t a文件拷贝版本:

$ uucp -C mydata gameplace!/home/chris/mydata


如果在u u c p命令中指定了一个不存在的远程目录,u u c p将帮助你创建一个新的目录。不
过,如果远程系统上的用户并不想让你创建一个这样的目录,那就可以使用- f选项,告诉u u c p
不要创建新目录。在下面的示例中,用户拷贝一个文件到远程用户c h r i s的h o m e目录里的
s e a s o n目录中。在第一个u u c p命令中,如果s e a s o n目录不存在时,就新创建一个s e a s o n目录;
而在第二个u u c p命令中,如果s e a s o n目录不存在,就不会创建。

$ uucp windata gameplace!/home/chris/season/swindata


$ uucp -f windata gameplace!/home/chris/season/swindata


有时候,你可能只知道远程系统上的一个用户名,而不知道它从根目录算起的完整路径
名。而在u u c p命令中,又必须要指明远程系统上一个文件的完整路径名。因此,你需要使用
U U C P中的“~”操作符,以指明远程系统上一个用户的完整路径名。其用法是在用户名前加
上一个“~”,就代表是该用户的h o m e目录。例如,~ c h r i s就代表/ h o m e / c h r i s。在下面的例子
中,使用了“~”来指明完整路径名:

$ uucp mydata gameplace!~chris/mydata


$ uucp gameplace!~chris/windata windata


另外使用u u c p 命令,还可以在两个远程系统之间拷贝文件。在下面的命令中,从
g a m e p l a c e系统上拷贝m y d a t a文件到m y t r a i n系统上:

$ uucp gameplace!~chris/mydata mytrain!~justin/mydata

论坛徽章:
0
216 [报告]
发表于 2008-05-17 22:14 |只看该作者
222 第四部分远程访问
下载
如上所述,u u c p是按照批处理方式进行的,它的执行需要一段时间。你可以使用u u s t a t命
令列出当前u u c p操作的信息。如果在u u s t a t命令中带上- u选项,用来显示u u c p为指定用户进行
的工作状态;如果在u u s t a t命令中带上- s选项,则显示u u c p为指定系统进行的工作状态。下面
的命令,用来显示u u c p为mytrain 系统j u s t i n用户进行的工作状态:

$ uustat -ujustin -smytrain


还可以使用u u s t a t删除一个u u c p工作。u u s t a t列出了每一个u u c p工作在进程中的I D号,如
果在u u s t a t命令中带上- k选项,并指明u u c p工作的I D号,便能删除相应I D号的u u c p工作。如下
所示:

$ uustat -k 795


16.7 远程执行命令:uux
使用u u x命令,可以执行一个包含了远程系统上文件的命令。在u u x命令中,使用文件和
目录时,需要指出它们的路径。例如,g a m e p l a c e ! ~ j u s t i n / f i l m d a t a就代表在g a m e p l a c e系统上
j u s t i n用户h o m e目录中的f i l e d a t a文件。如果是本地系统上的文件和命令,就可以在它们前面加
上一个“ ! ”,而不用指出系统名。例如,! m y d a t a代表本地系统上的m y d a t a文件;!c a t表示在
本地系统上执行c a t命令。在下面给出的示例中,将在j u s t i n起始(h o m e)目录中的f i l m d a t a文
件显示在本地终端上:

$ uux !cat gameplace!~justin/filmdata


如果要在u u x命令中使用重定向或管道等一些特殊字符,就必须加上引注,以避免本地的
s h e l l识别而使用它们。你可以将这些字符单独引注上,或者将整个命令都引上。在下面的示
例中,执行c a t命令拷贝文件并发送到本地打印机:

$ uux ' !cat gameplace!~chris/windata mytrain!~justin/food | lp'


如果要使用远程系统上的命令,就需要指出它的系统名。例如,假定打印一个文件时,
使用是远程系统上的打印机而不是本地打印机,那就需要在l p命令前加上远程系统的路径。
如下所示:

$ uux "!cat gameplace!~justin/filmdata | gameplace!lp"


如同u u c p命令一样,u u x也不会马上执行。你的u u x请求首先需要排队等待,只有在队列
前面时,系统才能执行。如果在等待执行的时间里,你又修改了需要使用的文件,那执行时
就使用修改的文件。为了避免这种情况,可以在u u x命令中带上- C选项,这样系统就立即将要
使用的当前文件拷贝到s p o o l目录中,在真正执行u u x请求时就使用spool 目录中的文件版本。
表1 6 - 2中列出了各种u u x选项。

表16-2 uucp、u u s t a t和u u x命令

命令及选项作用
u u c p命令及选项
u u c p 用来在两个系统之间拷贝文件
u u c p选项
- m 当执行完一个u u c p工作时通知本地用户
-n u s e r 当执行完一个u u c p工作时通知远程用户
- C 将文件拷贝到s p o o l目录中,并在执行时使用该拷贝

论坛徽章:
0
217 [报告]
发表于 2008-05-17 22:14 |只看该作者
第16章UUCP 223
下载
(续)

命令及选项作用
- c 不将文件拷贝到s p o o l目录中,为缺省情况
- f 不要创建目标目录
- g 指定服务的等级(高、中、低)
u u s t a t命令及选项
u u s t a t 列出当前u u c p工作清单。如果带- k选项并指出工作I D号,
则删除该工作
u u s t a t选项
- a 列出所有用户的所有工作
-u u s e r 列出指定用户的工作
-s s y s t e m 列出指定系统的所有工作
-k j o b i d 删除指定I D号的一个u u c p工作
- c 一个工作的排队时间,与- t一起使用
-t s y s 用于一个系统的传送速率
- q 显示工作的状态
u u x命令及选项
u u x 执行一个包含远程系统文件操作的U n i x命令
u u x选项
- z 工作完成后通知用户
- n 工作完成后不通知用户
- C 将文件拷贝到s p o o l目录中,并在执行时使用该拷贝
- c 不将文件拷贝到s p o o l目录中(缺省方式)
-g 指定服务的等级(高、中、低)

通常情况下,一个特定的U n i x系统会对用户可以使用u u x执行的命令有所限制,例如用来
删除文件的r m命令一般是禁止的。在一个U n i x系统中,那些可以使用u u x执行的命令都列在一
个权限文件里。对于R E L E A S E 4版本的U n i x系统,上述权限文件就是/ e t c / u u c p / P e r m i s s i o n s ;而
在早期的版本中,它可能是/ u s r / l i b / u u c p / P e r m i s s i o n s。

16.8 远程登录命令:cu和ct
前面已提到,基本的网络通信软件包中还包括有c u程序,它可以用来通过电话线拨号接
入另一个系统、或者通过网络线与另外的系统相连。使用c u命令,可以与远程系统传输字符
文件。表1 6 - 3归纳中了c u和c t命令的各种用法。

表16-3 cu和c t命令

命令及选项作用
c u 远程登录到另外一个系统上
c u选项
- s 指定波特率(传送速率)
- c 选择使用的本地网
- l 选择使用的通信线路
- e 设置为偶校验
- o 设置为奇校验
- h 设置为半双工方式
- bn 设置字节数据为7位或8位:- b 7或- b 8
- n 提示输入电话号码,而不是在命令行中输入

论坛徽章:
0
218 [报告]
发表于 2008-05-17 22:15 |只看该作者
224 第四部分远程访问
下载
(续)

命令及选项作用
- t 采用自动应答调制解调器与终端进行连接
c u命令
~

临时返回到本地系统
exit 终止在本地系统上的使用,重新返回到远程系统上
~ % 临时转义到本地系统
~% take re m o t e - f i l e 从远程系统上发送文件到本地系统上
~% put 从本地系统上发送文件到远程系统上
c t 通过一个自动应答调制解调器将本地系统与一个远程终端相
连。命令中的参数为远程终端的电话号码,它还设有几个用于
设置波特率、校验方式等传送特性的选项

通过c u(call Unix)命令进行远程登录,与使用T C P / I P中的r l o g i n命令非常想像。进行远
程登录时,在c u命令中要指出远程系统名,登录过程中系统要求用户输入登录名。示例如下:

$ cu gameplace


C o n n e c t e
d


l o g i n
:


所有相连系统的清单都保存在/ e t c / u u c p / S y s t e m s文件中,全部U U C P远程访问命令都根据
这个文件,决定能否访问一个系统。如果指定系统不在该文件中,执行c u命令时就会失败。
在下面的示例中,使用c u命令登录时失败,因为所指定的系统p e a c h不在/ e t c / u u c p / S y s t e m s文
件中:

$ cu peach


Connection failed: SYSTEM NOT IN Systems FILE


$


许多系统允许用户使用调制解调器通过电话线连接,这种情况下就可以使用电话号码作
为c u命令的参数,进行拨号接入。如下所示:

$ cu 9999999


用户还可以在命令中指定一些传输特性,例如波特率、双工方式、校验方式。下面的命
令中,采用- s选项将波特率设置为5 7 6 0 0:

$ cu -s57600 9999999


c t(call terminal)命令用于通过一个自动应答的调制解调器与一个终端连接。实际上,
它相当于反过来执行一个登录过程,即在你的系统上启动一个与远程终端的连接。c t命令的参
数就是一个电话号码,另外也可以像c u那样指定波特率、校验方式等一些传送特性。下面给
出的命令中,系统使用电话号码9 9 9 9 9 9 9与一个终端连接:

$ ct -s57600 9999999


一旦登录进入远程系统后,就可以执行任何U n i x命令。如果想退出远程系统,就可以使
用“~ .”命令。在你输入“.”时,远程系统将显示在括号里。如下所示:

$ ~[ g a m e p l a c e ]
.


Disconnected


当用户进入一个远程系统后,还可以使用命令“~!”临时产生一个s h e l l,用来在不中断
连接的情况下暂时返回到你的本地系统上,然后在本地系统上执行命令。执行完毕后,如果

论坛徽章:
0
219 [报告]
发表于 2008-05-17 22:16 |只看该作者
第16章UUCP 225
下载
想重新返回到远程系统上,就使用e x i t命令终止上述s h e l l。在下面的示例中,用户临时返回到
本地系统上,显示文件清单并打印一个文件。在用户输入命令序列“~!”时,本地系统名将
显示在括号里:

$ ~[ m y t r a i n ]
!


$ l
s


mydata newdocs


$ lp mydata


$ e x i
t


$


值得注意的是,~!命令产生的新s h e l l与本地系统上原来的s h e l l是不一样的。在新的s h e l l
中进行的操作,例如目录或变量的改变,并不影响到本地系统原来的s h e l l状态。如果你想能
同时影响到本地系统上原来的s h e l l,那就使用~ %命令。~ %命令也能用来转义到本地系统上,
例如,如果用户需要改变本地系统上的目录,就可以通过~ %使用c d命令进行。这种情况下,
在用户输入%字符时,本地系统名也会显示在括号里,如下所示:

$ ~[ m y t r a i n ] % cd letters


c u程序也支持在系统之间传送简单的字符文件。其中,~% take命令用于从远程系统发送
文件到本地系统;~% put命令用于从本地系统发送文件到远程系统。在上述命令中,需要发
送的源文件名是必须的参数;另外,如果目标文件名与源文件名不同,就要指出目标文件名。
其语法格式如下:

$ ~% take 远程源文件

$ ~% put 本地文源件



在下面的示例中,用户使用~% take命令从远程系统g a m e p l a c e上发送文件m y d a t a到本地系
统m y t r a i n上:

$ ~[ m y t r a i n ] % take mydata


接下来给出的一个例子是采用~% put命令将文件w i n d a t a从本地系统m y t r a i n上发送到远程
系统g a m e p l a c e上,并将目标文件名改为s e a a o n :


$ ~[ m y t r a i n ] % put windata season

论坛徽章:
0
220 [报告]
发表于 2008-05-18 13:52 |只看该作者
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP