Linux uucp命令参数及用法详解—在Unix系统之间传送文件。
功能说明:在Unix系统之间传送文件。
语 法:uucp [-cCdfjmrRtvW][-g<等级>][-I<配置文件>][-n<用户>][-x<类型>][–help][…来源][目的]
补充说明:UUCP为Unix系统之间,通过序列线来连线的协议。uucp使用UUCP协议,主要的功能为传送文件。
参 数:
-c或–nocopy 不用将文件复制到缓冲区。
-C或–copy 将文件复制到缓冲区。
-d或–directiories 在传送文件时,自动在[目的]建立必要的目录。
-f或–nodirectiories 在传送文件时,若需要在[目的]建立目录,则放弃执行该作业。
-g<等级>或–grade<等级> 指定文件传送作业的优先顺序。
-I<配置文件>或–config<配置文件> 指定uucp配置文件。
-j或–jobid 显示作业编号。
-m或–mail 作业结束后,以电子邮件报告作业是否顺利完成。
-n<用户>或–notify<用户> 作业结束后,以电子邮件向指定的用户报告作业是否顺利完成。
-r或–nouucico 不要立即启动uucico服务程序,仅将作业送到队列中,待稍后再执行。
-R或–recursive 若[来源]为目录,则将整个目录包含子目录复制到[目的]。
-t或–uuto 将最后一个参数视为”主机名!用户”。
-v或–version 显示版本信息。
-W或–noexpand 不要将目前所在的目录加入路径。
-x<类型>或–debug<类型>启动指定的排错模式。
–help 显示帮助。
[源…] 指定源文件或路径。
[目的] 指定目标文件或路径。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
在开始编写自己的UUCP配置文件之前,必须收集一些它需要知道的信息。首先,必须搞清楚你的modem所绑定的串行设备是什么。一般说来,DOS端口COM1到COM4对应的设备特有文件是/dev/cua1到/dev/cua3。许多软件(比如Slackware),都创建了一个/dev/modem链接,链接到其相应的cua*设备文件,配置kermit、seyon等,从而能够使用这些文件。这种情况下,也应该在你的UUCP配置文件内采用/dev/modem链接。
这样做的原因是所有的拨号器都采用所谓的锁文件来标识串行端口正在使用中。这些锁文件名是一连串的LCK..字串和设备文件名。比如LCK..cua1。如果拨号器对同一个设备采用了不同的设备名,它们就不能对彼此的锁文件进行识别。其结果是,在开始的那一刻,同时中断彼此的会话。这在你利用crontab条目,安排自己的UUCP调用时,是不太可能的。
接下来,必须找出modem的传输速率。必须将其值设为自己希望得到的最大有效传输速率。有效传输速率可以稍高于modem规定的原始物理传输速率。比如,许多modem收发数据的速率都是2400bps。而利用V.42bis之类的压缩协议时,真正的传输速率可高达9600bps。当然,如果希望自己的UUCP十项全能,肯定还需准备要拨叫的那个系统之电话号码。而且,还需要一个有效的登录ID和密码。
提示:如果你正准备拿UUCP做试验,最好能找到一个离你较近的归档站点。记下其登录名和密码—是可随意下载的。多数情况下,它们是类似于uucp/uucp和nuucp/uucp的。
另外,还必须知道如何才能真正地登录到远程系统。举个例子来说,在登录提示出现之前,有必要按Break键吗?登录提示显示的是“login:”,还是“user:”?这一点对编写对话脚本来说,是非常必要的,对话脚本是告诉uucico如何登录的“剧本”。如果不知道这一点,或平常所用的对话脚本失效了,就试着用kermit或minicom之类的终端程序来拨叫远程系统,并准确地记下你必须做的事。
~~~~~~~~~~~~~~~~~~~~~~
UUCP后面的概念是非常简单的:就如同它的名字指出的一样,它基本上是将文件从一台主机上拷贝到另一台上去,但它也允许在远程主机上进行一定的操作。
假设你的机器允许访问名为swim的假想的主机,并且让它为你执行lpr打印命令。那么你可以命令行上键入下面一行在swim上打印出本书来:[3]
$ uux -r swim!lpr !netguide.dvi
这使得uux为swim调度了一个作业(job)。uux是UUCP组中的一个命令。这个作业由输入文件netguide.dvi、以及馈送该文件到lpr的请求组成。-r标志告诉uux不用立刻访问远程系统,而是将作业存储起来直到稍后时有个连接被建立起来。这叫作假脱机(打印)(spooling)。
UUCP的另一个特性是它允许通过几台主机转发作业和文件,假如它们合作的话。假定上面例子中的swim与groucho有一个UUCP链接,groucho中保存着大量的应用程序文档。为了下载文件tripwire-1.0.tar.gz到你的站点上,你可以发出
$ uucp -mr swim!groucho!~/security/tripwire-1.0.tar.gz
trip.tgz
所创建的作业将请求swim从groucho取得该文件,并将文件送到你的站点,这里UUCP将把文件存为trip.tgz并且通过文件到达的邮件来通知你。这将分三步完成。首先,你的站点将作业送至swim。当下次swim与groucho建立了连接,就会下载该文件。最后一步是从swim到你站点的实际的传输。
目前,UUCP网络所提供的最重要的服务就是电子邮件和新闻。稍后我们将会讨论这些,所以这里我们仅给出一个概要的介绍。
电子邮件 – 简称email – 允许你与远程主机上的用户交换消息而无需实际地知道如何访问这些主机。控制一个消息从你的站点到达目的站点的任务是完全由邮件处理系统完成的。在一个UUCP环境中,邮件一般是通过在比邻的主机上执行rmail命令传送的,并把接收者的地址和邮件消息传给rmail。然后rmail将会转发消息到另一台主机上等等,直到消息到达目的主机为止。我们将在第13章中详细地讨论。
News可以最恰当地描述成一类分布式的电子公告板系统。绝大多数情况下,这个术语指的是Usenet News,它是直到目前为止最著名的估计有着120,000-参与站点的新闻交换网络。Usenet的起源可追溯至1979年,那时,在新的Unix-V7版本发布以后,三个研究生有了一个在Unix团体中通用信息交换的点子。他们整理了一些脚本,这成了第一个网络新闻系统。在1980年里,这个网络连接了北卡罗林纳州的两所大学里的duke、unc和phs网络。从这衍生出来,Usenet最终成长起来了。尽管它起初是一个基于UUCP的网络,现已不再限于单种类型的网络了。
信息的基本单元是文章,它可能被投寄到专用于某个特殊主题的新闻组的层次结构中。大多数站点仅仅接收全部新闻组的一个选集,而全部新闻组每天平均传送相当于60MB的文章。
在UUCP的世界中,news通常是按照从请求的组中收集所有的文章,并且打包成几批(batches),再通过一个UUCP链接来发送的。这几批文章被发送到接收站点,并在那里被送给了rnews命令来打开这几批数据包以及更进一步的处理。
最后,对于许多拨号上网的供公共访问的文档站点来说,UUCP也同样是一种供选择的方法。你通常可以这样来使用它们:使用UUCP拨号上网、作为来客(guest)用户登录、并从公共访问文档区域下载文件。这些来客帐号的登录名/口令通常是uucp/nuucp或者是其他一些类似的。