UNIUNI教程网络篇.docx
- 文档编号:4143296
- 上传时间:2022-11-28
- 格式:DOCX
- 页数:18
- 大小:25.79KB
UNIUNI教程网络篇.docx
《UNIUNI教程网络篇.docx》由会员分享,可在线阅读,更多相关《UNIUNI教程网络篇.docx(18页珍藏版)》请在冰豆网上搜索。
UNIUNI教程网络篇
下载
第16章UUCP
我们在前面一章中已经讲到,Unix提供了一些命令用于在两个系统之间进行远程访问,
使用这些命令可以完成远程拷贝文件或执行Unix命令、远程登录等操作。
这些远程访问命令
就在你自己的shell中运行,然后在远程系统上完成所需要的操作,而不需要通过另外的界面
(如FTP、Gopher等)执行。
Unix系统可以使用两种类型的网络连接,每种都有自己的协议,
分别为TCP/IP和UUCP。
用于Internet上的TCP/IP协议也可以用在本地网上,这已经在前一章
中讨论过了。
在本章中,我们将主要讨论Unix系统中的另一种可选的协议,即UUCP。
UUCP仅用于Unix系统之间的网络通信。
它是一种比较老的协议,针对还没有连上网络的
各个系统之间的互操作而设计出来的。
采用UUCP,一个系统可以在预定的时间里通过电话线
与另一个系统相连,一次可处理一批通信任务。
UUCP特别适用于这样的应用:
与某一个特定
的系统直接建立连接,然后传递数据,最后断开连接。
通过UUCP,可以在两个Unix系统之间
进行modem-to-modem方式的通信。
在前面关于电子邮件的章节中,我们已经讨论了如何通过网络将信件发送给其他系统上
的用户。
按照同样的道理,也可以通过网络将命令发送到其他系统上执行。
UUCP采用批处理
方式进行操作,它将本地系统上用户发出的远程拷贝文件或远程执行命令等一批请求放在一
起,在建立连接后一次发送给远程系统。
远程系统接受到这批请求后,就执行它们,然后再
建立另一个连接,将结果传送回本地系统。
显然,这种采用UUCP进行的远程操作是非常慢的,
因为用户不但要等待本地系统将请求发送出去,还要更要耐心地等待远程系统的答复。
UUCP是“UnixtoUnixCommunicationsPackage”的缩写,它是由AT&T公司在SystemV
Unix版本中开发的一种通信软件包。
UUCP提供了一套用于远程操作的命令,例如用来在两个
系统之间拷贝文件的uucp命令。
UUCP是标准网络软件包BNU(基本网络组件)中的一部分,
而BNU已经成为了SystemVUnix中的标准组件,同时在一些最新的BSDUnix版本中也包含了
BNU。
除了UUCP以外,BNU中还包含有另一个用于远程登录的程序cu,它不仅可以通过网
络,而且还能从终端上进行远程登录。
UUCP采用点对点通信方式,这就好像是使用各个系统中的邮件功能实现网络通信的。
当
你要将一个UUCP命令发送给一个指定系统时,该命令就在排队等待,与发送给同一系统的其
他命令收集在一起,然后才开始投递给指定系统。
指定系统接受到请示并执行完毕后,就将
结果邮回到你的系统。
整个过程依赖于网络中的每一个系统与其他系统之间收发命令的操作,
因此网络的可靠性取决于它最弱的一个节点。
另一方面,它不要求特殊的结构,只要具有类
似收发邮件的功能就行了。
许多UUCP命令都与TCP/IP的远程访问命令相似,例如,uucp就像rcp,uux类似于rsh。
UUCP和TCP/IP是大多数Unix系统使用的两种主要的网络通信协议,在SystemVUnix的
早期版本中只包含有UUCP,而在BSDUnix的早期版本中却仅使用TCP/IP。
16.1UUCP的寻址方式
UUCP网络通常采用路径寻址方式,这种寻址方式与UUCP的点对点通信方式是相适应的。
下载
第16章UUCP217
在UUCP网络中,一个系统与其他地方的某个系统相连,而被连接的这个系统又可能与另外的
一些系统相连,并不是每个系统之间都直接相连。
通过中间系统的转发,你可以向网络中的
任何一个远端系统发送信件。
例如,如果mytrain系统与stan系统相连,而stan系统又同时与
bell系统相连了,那么mytrain系统上的用户就可以经过stan系统来访问bell系统。
不过,这种
通信并不是实时进行的,所有的信件按照成批等待方式进行发送。
在路径寻址方式中,系统地址放在用户登录名的前面,中间用一个“!
”分隔,格式如
下:
系统名!
登录名
例如,下面的命令采用mailx程序向mytrain系统上的dylan用户发送一封信件:
$mailxmytrain!
dylan 对于C-shell,因为在命令行中的字符“! ”已用来代表历史命令,所以在上述路径寻址方式 中使用“! ”时,需要进行转义,即在它前面加上一个“\”。 如下所示: 系统名\! 登录名 %mailxmytrain\! dylan 在UUCP网络中,如果你要访问远端系统,可能需要经过多个中间系统的转发才能实现。 在路径寻址方式中,需要在路径中指出中间系统的地址,将各个中间系统的名称依次放在目 标系统名称的前面,中间用“! ”分隔。 如图16-1所示的网络中,如果你在mytrain系统上向bell 系统上的aleina用户发送信件,则路径地址应写为stan! bell! aleina;如果你要将信件发送给在 larisa系统上的rose用户,那么就必须在路径中指出三个中间系统。 在下面给出的命令示例中, 第一个命令首先将信件发送给stan系统,然后由stan系统转发给bell系统上的aleina;在第二个 命令中,信件首先发送给lilac,然后转发给sf,再由sf将信件转发给rose系统上的larisa。 如下 所示: $mailxstan! bell! aleina $mailxlilac! sf! rose! larisa bell stan! bell! aleina aleina mytrainstan rose lilac! sf! rose! larisa lilac larisa sf 图16-1UUCP网络中的路径寻址示意 有时候在UUCP网络中的两个系统之间存在多条路径,每条路径的长度和速度并不一样, 有些很慢而有些却很快,因此选择一条合适的路径就比较重要。 对于图16-2所示网络,下面 给出了两个命令,分别列出了两条不同的路径到同一个目标系统,其中第一个命令中的路径 要经过三个中间系统,而第二个命令中的路径只要经过一个中间系统: $mailxlilac! mac! gameplace! rose! larisa 218 第四部分远程访问 下载 $mailxsf! rose! larisa 图16-2具有不同长度的路径 16.2显示连接系统命令: uuname uuname命令用来显示UUCP网络中所有相连的系统,示例如下: $uuname mytrain rose lilac $ 如果在uuname命令中带上-l选项,则显示本地系统的名字,如下所示: $uuname-l gameplace $ 缺省情况下,uuname命令输出的系统列表送到标准输出,有时这种系统列表会很长,你 可能需要将它保存在一个文件里或者打印出来,而不仅仅是显示在屏幕上。 可以使用重定命 令符对系统列表进行保存、打印或者使用过滤器查找指定的系统名。 在下面的示例中,第一 个命令将系统列表保存在一个文件里,第二个命令则是将它打印出来,而第三个命令使用过 滤器grep查找指定的系统名是否在列表中: $uuname>syslist $uuname|lpr $uuname|grepmytrainmytrain $ 如果要显示本地系统的信息,可以使用uname(前面只有一个u)命令。 16.3UUCP连接管理命令: uucico和uuxqt uucico程序用来处理系统中所有的UUCP通信,它是一个守护进程,将每一个UUCP传输 保存在/usr/lib/uucp/uucppublic目录中。 uuxqt程序则用来解释和执行每一个传输中指定的操 作。 uucico和uuxqt都属于系统管理操作,只能由root用户执行。 如果是root用户,就可以使用uucico与另一个系统建立连接,连接成功后就能将UUCP命 下载 第16章UUCP219 令请求发送出去,然后接受答复并将另外的UUCU请求发送给其他系统,其语法格式如下: uucico选项远程登录名 其中有两个有用的选项,一个是-r,用来为重新拨号连接设置一个自动等待时间;另一个 是带上数字9的-x选项,用来设置调试状态,以便用户能看到uucico命令的执行过程。 在下面 的示例中,root用户想建立一个与rose系统的连接: #uucico-r-x9rose 16.4UUCP命令 UUCP命令只用于UUCP网络,通过UUCP命令用户不但可以访问本地系统上的文件,也 可以访问另一个Unix系统上的文件。 不过,正如本地的命令一样,UUCP命令在远程系统上也 要受到权限限制,即只能访问那些远程系统用户允许访问的文件和目录。 主要有四个UUCP命令,分别是uuto、uupick、uucp和uux。 其中uuto命令用来向其他系 统发送文件,uupick命令用来接受文件,这两个命令可用于发送和接受大型的文件。 uucp用 来从一个系统拷贝文件到另一个系统,uux命令用来在另一个系统上远程执行Unix命令。 16.5文件传输命令: uuto和uupick 如上所述,uupick和uuto这两个命令分别用来收发文件,它们的操作有点像mailx命令。 uuto命令是按照批处理方式操作的,你的请求必须首先与其他的请求一起排队等待,只有当 它位于队列前面时,才开始被发送出去。 如果在等待发送的时间里,你又修改了需要发送的 文件,那就将已修改的文件发送出去。 为了避免这种情况,可以在uuto命令中带上-p选项,这 样系统就立即将当前要发送的文件拷贝到spool目录中,发送时就把这份文件拷贝发送出去。 这种情况下,你在发送之前对原始文件的修改,就不会影响到真正发送出去的文件。 另外, uuto命令还设有一个-m选项,用来发送文件时通知用户。 表16-1中列出了uuto命令的选项。 它 的语法格式如下: 下面给出的命令,将mydata文件发送到gameplace系统上的marylou: $uutomydatagameplace! marylou uupick命令用于接受由uuto发送的文件。 执行uupick命令时,只要在命令行中键入uupick, 不用带任何参数。 在命令执行过程中,屏幕上依次显示出每一个从其他系统由uuto命令发送 来的文件,并要求用户给出操作选择。 如果要将文件移动到用户当前目录中,就只要输入 m;如果要将文件移动到指定目录中,就需要在m后指定目录路径。 键入回车键后,屏幕上就 出现下一个接受文件的提示,经过用户再一次的选择后,又接着出现再下一个文件的提示, 以此类推,直到所有接受到的文件列表完毕为止。 如果在选择时,用户不输任何值就敲入回 车键,则不处理当前显示的文件,而待下次执行uupick命令时仍显示该文件。 uupick命令的用 户选择项也在表16-1中列出了。 在下面给出的示例中,uupick命令向用户提示了三个接受到的文件。 第一个文件是mydata, 它被移动到当前目录中,然后显示了它的体积大小;第二个文件名叫windata,它被移动到 season目录中;第三个文件名叫project,它这次不被处理,待下次执行uupick命令时还显示该 220 第四部分远程访问 下载 文件。 $uupick fromsystemgameplace: filemydatma? 10blocks fromsystemmytrain: filewindatma/? home/dylan/season2blocks fromsystemgameplace: fileproject? $ uupick命令设有一个-s选项,用来查看从指定系统上发送过来的文件。 其语法格式是在-s 选项后指定一个系统名,这样在命令执行过程中只向用户显示从指定系统发送过来的文件。 下面的示例中,uupick命令只显示那些从gameplace系统发送过来的文件: $uupick-sgameplace 表16-1UUCP的一些命令及选项 命令及选项作用 uuname和uucico命令及选项 uname显示本地系统名 -m机器类型 -n网络节点主机名 -r操作系统发布号 -s操作系统名 -v操作系统版本 -a所有的信息 uuname列出所有相连的系统 -l显示本地系统名 uucico命令及选项 uucico选项远程系统建立与远程系统的连接,只能由root用户进行 uucico选项 -r1采用主机模式启动 -s如果没有指定系统,则呼叫任何一个需要连接的系统 -r0采用从机模式启动,这是缺省模式 -f忽略任何被呼叫系统的等待请求 -l分别采用“login: ”和“Password: ”提示登录名和密码 -pport指定呼叫或监听的端口号 -C只在需要时呼叫指定的远程系统 -xtype开启调试type,如果为数字9则开启所有的type uuxqt用来执行uux请求的程序 uuto和uupick命令及选项 uuto文件名目标地址用来向另一个系统发送大型文件 -m当文件发送时通知发送者 -p将文件拷贝到spool目录中,发送拷贝的文件 uupick命令及选项 uupick接受由uuto命令发送来的文件,依次显示每一个文件 uupick选项 m目录将当前接受文件移动到指定目录中 a目录将所有接受文件移动到指定目录中 d删除当前接受文件p显示当前接受文件 下载 第16章UUCP221 (续) 命令及选项作用 enter输入回车键,确认一次选择 q终止uupick *列出uupick命令信息 ! cmd转到本地shell上执行一个Unix命令 16.6文件拷贝命令: uucp和uustat uucp命令用于直接在两个系统之间拷贝文件,它要求有两个参数,即源文件名和目标文 件名。 其语法格式如下: $uucp源文件目标文件 使用uucp命令,可以从本地系统上的目录拷贝文件到远程系统上的某个目录中,或者从 远程目录中拷贝文件到本地目录中。 在两种情况下,都要求在命令中指出远程系统的名称。 在下面给出的命令中,将本地文件mydata拷贝到远程系统gameplace上的chris目录中: $uucpmydatagameplace! /home/chris/mydata uucp命令也以批处理方式在后台进行操作,你的uucp请求首先需要排队等待,只有在队 列前面时,系统才能执行。 如果在等待执行的时间里,你又修改了需要拷贝的文件,那执行 拷贝时就对修改的文件进行拷贝。 为了避免这种情况,可以在uucp命令中带上-C选项,这样 系统就立即将当前要拷贝的文件拷贝到spool目录中,在真正执行uucp请求时就使用spool目录 中的文件版本。 表16-2中列出了各种uucp选项。 在下面的示例中,mydata文件被拷贝到spool 目录,在执行uucp命令进行远程拷贝时就使用spool目录中的mydata文件拷贝版本: $uucp-Cmydatagameplace! /home/chris/mydata 如果在uucp命令中指定了一个不存在的远程目录,uucp将帮助你创建一个新的目录。 不 过,如果远程系统上的用户并不想让你创建一个这样的目录,那就可以使用-f选项,告诉uucp 不要创建新目录。 在下面的示例中,用户拷贝一个文件到远程用户chris的home目录里的 season目录中。 在第一个uucp命令中,如果season目录不存在时,就新创建一个season目录; 而在第二个uucp命令中,如果season目录不存在,就不会创建。 $uucpwindatagameplace! /home/chris/season/swindata $uucp-fwindatagameplace! /home/chris/season/swindata 有时候,你可能只知道远程系统上的一个用户名,而不知道它从根目录算起的完整路径 名。 而在uucp命令中,又必须要指明远程系统上一个文件的完整路径名。 因此,你需要使用 UUCP中的“~”操作符,以指明远程系统上一个用户的完整路径名。 其用法是在用户名前加 上一个“~”,就代表是该用户的home目录。 例如,~chris就代表/home/chris。 在下面的例子 中,使用了“~”来指明完整路径名: $uucpmydatagameplace! ~chris/mydata $uucpgameplace! ~chris/windatawindata 另外使用uucp命令,还可以在两个远程系统之间拷贝文件。 在下面的命令中,从 gameplace系统上拷贝mydata文件到mytrain系统上: $uucpgameplace! ~chris/mydatamytrain! ~justin/mydata 222 第四部分远程访问 下载 如上所述,uucp是按照批处理方式进行的,它的执行需要一段时间。 你可以使用uustat命 令列出当前uucp操作的信息。 如果在uustat命令中带上-u选项,用来显示uucp为指定用户进行 的工作状态;如果在uustat命令中带上-s选项,则显示uucp为指定系统进行的工作状态。 下面 的命令,用来显示uucp为mytrain系统justin用户进行的工作状态: $uustat-ujustin-smytrain 还可以使用uustat删除一个uucp工作。 uustat列出了每一个uucp工作在进程中的ID号,如 果在uustat命令中带上-k选项,并指明uucp工作的ID号,便能删除相应ID号的uucp工作。 如下 所示: $uustat-k795 16.7远程执行命令: uux 使用uux命令,可以执行一个包含了远程系统上文件的命令。 在uux命令中,使用文件和 目录时,需要指出它们的路径。 例如,gameplace! ~justin/filmdata就代表在gameplace系统上 justin用户home目录中的filedata文件。 如果是本地系统上的文件和命令,就可以在它们前面加 上一个“! ”,而不用指出系统名。 例如,! mydata代表本地系统上的mydata文件;! cat表示在 本地系统上执行cat命令。 在下面给出的示例中,将在justin起始(home)目录中的filmdata文 件显示在本地终端上: $uux! catgameplace! ~justin/filmdata 如果要在uux命令中使用重定向或管道等一些特殊字符,就必须加上引注,以避免本地的 shell识别而使用它们。 你可以将这些字符单独引注上,或者将整个命令都引上。 在下面的示 例中,执行cat命令拷贝文件并发送到本地打印机: $uux'! catgameplace! ~chris/windatamytrain! ~justin/food|lp' 如果要使用远程系统上的命令,就需要指出它的系统名。 例如,假定打印一个文件时, 使用是远程系统上的打印机而不是本地打印机,那就需要在lp命令前加上远程系统的路径。 如下所示: $uux"! catgameplace! ~justin/filmdata|gameplace! lp" 如同uucp命令一样,uux也不会马上执行。 你的uux请求首先需要排队等待,只有在队列 前面时,系统才能执行。 如果在等待执行的时间里,你又修改了需要使用的文件,那执行时 就使用修改的文件。 为了避免这种情况,可以在uux命令中带上-C选项,这样系统就立即将要 使用的当前文件拷贝到spool目录中,在真正执行uux请求时就使用spool目录中的文件版本。 表16-2中列出了各种uux选项。 表16-2uucp、uustat和uux命令 命令及选项作用 uucp命令及选项 uucp用来在两个系统之间拷贝文件 uucp选项 -m当执行完一个uucp工作时通知本地用户 -nuser当执行完一个uucp工作时通知远程用户 -C将文件拷贝到spool目录中,并在执行时使用该拷贝 下载 第16章UUCP223 (续) 命令及选项作用 -c不将文件拷贝到spool目录中,为缺省情况 -f不要创建目标目录 -g指定服务的等级(高、中、低) uustat命令及选项 uustat列出当前uucp工作清单。 如果带-k选项并指出工作ID号, 则删除该工作 uustat选项 -a列出所有用户的所有工作 -uuser列出指定用户的工作 -ssystem列出指定系统的所有工作 -kjobid删除指定ID号的一个uucp工作 -c一个工作的排队时间,与-t一起使用 -tsys用于一个系统的传送速率 -q显示工作的状态 uux命令及选项 uux执行一个包含远程系统文件操作的Unix命令 uux选项 -z工作完成后通知用户 -n工作完成后不通知用户 -C将文件拷贝到spool目录中,并在执行时使用该拷贝 -c不将文件拷贝到spool目录中(缺省方式) -g指定服务的等级(高、中、低) 通常情况下,一个特定的Unix系统会对用户可以使用uux执行的命令有所限制,例如用来 删除文件的rm命令一般是禁止的。 在一个Unix系统中,那些可以使用uux执行的命令都列在一 个权限文件里。 对于RELEASE4版本的Unix系统,上述权限文件就是/etc/uucp/Permissions;而 在早期的版本中,它可能是/usr/lib/uucp/Permissions。 16.8远程登录命令: cu和ct 前面已提到,基本的网络通信软件包中还包括有cu程序,它可以用来通过电话线拨号接 入另一个系统、或者通过网络线与另外的系统相连。 使用cu命令,可以与远程系统传输字符 文件。 表16-3归纳中了cu和ct命令的各种用法。 表16-3cu和ct命令 命令及选项作用 cu远程登录到另外一个系统上 cu选项 -s指定波特率(传送速率) -c选择使用的本地网 -l选择使用的通信线路 -e设置为偶校验 -o设置为奇校验 -h设置为半双工方式 -bn设置字节数据为7位或8位: -b7或-b8 -n提示输入电话号码,而不是在命令行中输入 224 第四部分远程访问 下载 (续) 命令及选项作用 -t采用自动应答调制解调器与终端进行连接 cu命令 ~! 临时返回到本地系统 exit终止在本地系统上的使用,重新返回到远程系统上 ~%临时转义到本地系统 ~%takeremote-file从远程系统上发送文件到本地系统上 ~%put从本地系统上发送文件到远程系统上 ct通过一个自动应答调制解
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- UNIUNI 教程 网络