欢迎来到天天文库
浏览记录
ID:34481456
大小:1.77 MB
页数:20页
时间:2019-03-06
《unix网络编程_部分11》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
第14章WorldWideWeb203下载含标题列表的表格中,它的标题列表项用来访问在整个网页中显示的标题。只要在表格里点击一个标题列表项,就会移到相应标题的文本中。被指向的文本称为命名元素。可以使用NAME标记符为指定文本创建一个标签,它的作用就相当于该文本的名字。这样,在创建HREF锚标记符时,就可以使用该名字代表相应的文本。除了可以是文本外,命名的元素还可以是图像,允许你跳到文本中的图像。要创建一个命名元素,就使用NAME锚标记符,后面输入命名元素的名字;然后,接着输入命名元素代表的文本或图像,采用标记符结束。在下面的示例中,元素的名字为mynewstag,它显示的文本是“RecipeSiteNews”:RecipeSiteNews用一个带有“#”号的HREF标记符,可以访问一个命名元素代表的文本或图片。其中,“#”号要放在命名元素的前面。在下面的示例中,网页中显示“RecentNews”文本,当用户点击该文本时,就会显示在网页中采用mynewstag标记的元素。这个元素可以是一个标题、一幅图片或任何文本段。Recentnews如前所述,命名元素用来使用户转到网页不同的标题中。例如,在一个标题列表中,包含了文本中每个命名标题的HREF项,点击各个列表项,就能跳到相应的标题处。Headingtext这种情况下,网页中相应的标题必须采用NAME标记符命名,并确保名字的匹配。下面的示例创建了一个标题,当点击它时,就能跳到一个名为Welcometag的元素处。AboutMyRecipeSite下面的例子示出了一个名为welcometag的元素,它所代表的是一个标题。点击前一个示例中的锚时,要跳到的地方就是这个welcometag元素所代表的标题。AboutMyRecipeSite你可以用ID标记符创建命名元素,这个ID标记符可以放在一个标题标记符内,如下所示:Headingtext14.5.3Web页面示例使用上面已讨论过的几个代码,就可以创建Web页面。通过一个简单的文本编辑器,就可以输入HTML代码和文本。HTML文本文件可以用任何名字命名,但其扩展名必须是.html。通常,一个Web网站是由许多分布在几个子目录下的文件构成的。在下面的示例中,有两个分别名为recipe.html和index.html的Web页面,其中recipe.html是网站主目录下的文件,而index.html是位于网站主目录下的desserts子目录中的网页文件。在recipe.html中有一个入口,可以调用desserts/index.html文件。通常每个子目录都有它自己的index.html文件,用来列出所有到自己目录及其子目录下的网页的链接。Recipe.html使用了几个HREF链接标记符,用来访问本地文件和其他站点上的Web页面,甚至还可以是用来发送邮件的URL。下面示例中给出的链接,显示电子邮件地址“chris@mygames.com”,并且当用户点击它时,将启动该系统的邮件编辑器,提示用户输入和发送信息。HREF自动指定要信件发送的电子邮件地址。文字段可以是任何文本,不一定要 204第三部分网络及Internet工具下载求是一个电子邮件地址。HREF=mailto://chris@mygames.com>chris@mygames.com在该文件中,标记符用来显示一个字体较大的标题;标记符用来将后面的文本格式化成段落;标记符显示字体稍小的子标题;标记符用来在页面上画线。带有URL的锚标记符,嵌入到段落和标题中。Recipe.html文件中所有的标题都是一个锚。锚放在标题标记符之内,可以允许用户点击标题上的任何地方。许多锚都指向本地文件,例如就指向本地desserts子目录中的index.html文件。最后一个标题指向远程站点上的一个Web页面。desserts/index.html文件显示一个编号式列表,而不是标题。在列表中的每一项都包含一个锚,这有点类似于recipe.html文件中的标题,但它的每一项是经过编号了的。recipehtmldesserts/index.html 第14章WorldWideWeb205下载图14-7示出了recipe.html文件在Web浏览器的显示内容。请注意其中划线的文本,代表它们是一个锚,可以链接到另外的Web资源。图14-8示出了desserts/index.html文件在Web浏览器的显示内容。它显示的是一个编号式列表,在每一个列表项前都加上了一个编号。它的每一项文本也都划了线,表示也是一个用来访问其他Web资源的锚。图14-7recipe.html文件的显示内容图14-8desserts/index.html文件的显示内容14.5.4图像和声音通过IMG标记符,可以在Web页面上显示图像。图像可以是各种以gif或jpeg等文件格式存储的照片、图形或画面,它们通常与网页放在同一个目录上。在IMG标记内,使用SRC标记符指定图像文件名。如果图像文件在另一个目录中,还需要指出它的路径名。一个IMG标记的语法格式如下:例如,如果需要显示一个名为cakes.gif的图片,就采用如下代码: 206第三部分网络及Internet工具下载IMG标记符用来在网页内显示图片,如果你想使用单独的图片显示程序显示图片,那就要用HREF标记符。实际上,HREF标记符将图像文件与显示程序链接起来,如下所示:Thisisapictureofme还可以使用HREF标记符,将一个声音或视频文件与一个播放程序链接起来:Satisfactionindicator图像经常用在锚定语句中,供用户点击以访问其他Web资源。这种情况下,需要在HREF标记项中的显示文本部分输入一个IMG标记项。这样,在浏览器中将显示IMG标记项中指定的图像,只要用户点击该图像,就链接到HREF标记项中指定的URL。在下面的示例中,在浏览器中显示food1.gif文件代表的图像,当用户点击它时就启动对welcome文件的访问:在接下来给出的示例中,在一个锚中使用了图像和文本,在浏览器中用户既可以通过点击这个锚中的图像,也可以通过点击这个锚中的文本,访问所链接的desserts/index.html文件:DessertRecipes下面给出的recpic.html文件,在前面recipe.html文件的基础上增加了图像。文件的内容如下:图14-9示出了recpic.html文件在Web浏览器里的显示内容。值得注意的是,标记符的作用是开始一个新的行或输入一个空行。在最后一个标题中,它用来将同一个锚中的图像和文本放在不同的行中。另外,文中的标记符用来将第一个标题采用斜体字显示。 第14章WorldWideWeb207下载图14-9recpic.html文件的显示内容14.5.5表单和公共网关接口Web页面最初只是用来显示文本和图像,并不打算用来完成交互式任务,例如接收用户发来的数据,然后处理,并显示结果。HTML标记符只是用来格式化操作,就像一个字处理器一样,没有太多的计算功能。不过。随着Web应用的发展,Web页面逐渐成为收集用户信息的理想接口,例如,在线购物和用户注册等一些应用的需求。虽然Web页面本身不能完成数据处理功能,但它可以收集用户发来的数据,然后将它转交给其他的数据处理程序;待数据处理程序完成处理后,就将结果在另一个网页上显示出来。上述用来处理数据并与Web页面进行交互的程序就是公共网关接口(GommonGatewayInterface,CGI)。在使用浏览器显示某个站点上的网页时,相关的网页可以通过CGI程序向用户提供实时的信息,或者处理由用户发来的信息。一个CGI程序可以是一个Unixshell脚本或者一个执行程序。表单(form)是一种HTML元素,可以接收用户填写的数据,并将数据传送给CGI或另一个网页。HTML支持各种各样的表单,其中有简单的文本框,可以供用户输入一行文本;单选和复选框可供用户在多个选项中进行选择;下拉菜单也能供用户进行选择,通常用来访问其他网页;文本区域框的操作有点像小型的编辑器,可供用户输入多个文本行,编辑文本,还可以使用滚动条移动文本。最简单的表单是输入表单,它们以标记符开头,可以使用TYPE标识符指定表单的类型,其中包括下面一些类型:text(文本)、checkbox(复选框)、radio(单选)、submit(提交)、 208第三部分网络及Internet工具下载reset(重置)。还可以使用NAME标识符命名表单,用以识别某个特定的表单。下面给出了一个简单的文本输入表单,它的名字为cook,类型是text,文本“YourName”将显示在输入框的左边。YourNamecheckbox用来显示一个复选框,通常将几个复选框链接在一起作为一个元素。这时就得给每一个复选框起同样的名字。在下面的示例中,给出了一个名为favders的网页元素,它由四个checkbox组成,每一个checkbox的定义中都有一个INPUT标记符,它们的名字都取为favders。这四个checkbox的显示标签分别为“Cake”、“IceCream”、“Pie”“Ricecakes”(如图14-10所示)。radio按钮也按同样的方式进行操作,但是它们只能被选中一个。如果用户选择另一个,就会关闭原来一个的选择。它们的类型为radio。在下面的示例中,给出了一个包括两个radio按钮的radio元素。该元素叫做answ,两个radio按钮的显示标签分别为“Yes”、“No”(见图14-10)。YesNo下拉菜单通过SELECT标记符实现,它的结尾标记符是。菜单中的选项采用标记符,在该标记内可以使用NAME标识为菜单项指定一个名字。每一个菜单显示的文本放在OPTION标记符后。下面的示例给出了一个下拉菜单,它有三个选项,分别为“Desserts”、“Pastas”和“FrenchPastries”(见图14-10)。图14-10中示出了recform.html文件在Web浏览器中的显示内容。请注意其中的表格和缺省文本,Submit和Reset按钮放在屏幕底端,BR和HR用来分隔表单。图14-10recform.html文件的显示内容 第14章WorldWideWeb209下载〈SELECT〉〈OPTIONNAME=rec1〉Desserts〉〈OPTIONNAME=rec2〉Pastas〉〈OPTOINNAME=rec3〉FrenchPastries〉〈/SELECT〉文本区域表单通过TEXTAREA标记符实现,它的结尾标记符是,并通过ROW选项指定它在网页上显示的行数,通过COLS选项指定列数。在TEXTAREA标记后,可以输入缺省的文本。缺省文本在最初打开网页时显示在文本区域框里,如果用户不作任何改变,就作为用户输入的内容。缺省文本被修改后,可以使用Reset按钮复原。文本区域框具有滚动条,所以输入文本时不受显示区域的限制。在输入文本时,可以使用删除、插入、剪切、粘贴等编辑功能。在下面给出的文本区域框示例中,它的名字为com1,显示的区域大小为7行30列,缺省文本为“Thesearegreatrecipes,really”:Thesearegreatrecipes,really下面给出一个包括了上面讨论的表单的代码文件,名为recform.html:recform.html: 210第三部分网络及Internet工具下载 下载第四部分远程访问第15章TCP/IP远程访问操作远程访问命令通过网络进行操作,使用这些命令可以完成远程拷贝文件或执行Unix命令、远程登录等功能。这些远程访问命令就在你自己的shell中运行,然后在远程系统上完成所需要的操作,而不需要通过另外的界面(如FTP、Gopher等)执行。Unix系统可以使用两种类型的网络连接,每种都有自己的协议,分别为TCP/IP和UUCP。用于Internet上的TCP/IP协议也可以用在本地网上,采用TCP/IP的网络通常具有专用的连接,例如以太网连接和通过SLIP或PPP进行的远程拨号连接。UUCP是一种可选的协议,仅适用于Unix系统之间的网络通信。它是一种比较老的协议,是针对还没有连上网络的各个系统之间的互操作而设计出来的。TCP/IP和UUCP分别都有自已的一套远程访问命令,各自都有优缺点。TCP/IP的远程访问命令就叫做远程命令,或者简单地称为r命令。通用命令名称前加上字母“r”就表示远程操作命令,例如rcp就是用于从一个系统到另一个系统远程拷贝文件的一个命令。r命令具有实时性的优点,通过它们可以立即完成在远程系统上拷贝文件和执行命令的操作;同时,它们使用起来也很方便,可以容易地将一个系统上的整个目录拷贝到另一个系统上。不过,它们只能用在TCP/IP网络中的系统。TCP/IP网络通信软件包中采用的远程访问命令,最先是由美国加州大学伯克利分校为ARPANET开发出来的。所有这些命令都以字母r开头,表示为远程操作命令。使用这些命令,除了可以进行远程拷贝文件等操作外,还可以获得远程系统上的一些信息,例如当前登录远程系统的用户信息。如果要求输入系统地址时,这些远程命令可以使用域名地址。表15-1中列出了各种TCP/IP远程访问命令。表15-1TCP/IP远程访问命令命令作用rwho显示网络中系统上当前的所有用户ruptime显示网络中每一个系统的信息ping检测一个系统是否与网络连接上了rlogin用于远程登录到另一个系统上。它带有一个-l选项,用来指定登录名rcp用于两个系统之间拷贝文件。如果在文件名前没有给出系统名,就默认为本地系统。如果在rcp命令中带上-r选项,就可以用来拷贝目录rsh用来在远程系统上执行一个Unix命令许多TCP/IP命令都有对应的Internet应用程序,例如用于远程登录系统的TCP/IP命令rlogin,就类似于Telnet程序;用于远程拷贝文件的rcp命令的功能,就类似于FTP程序。实际上,TCP/IP命令就是这些Internet应用程序的先驱。各种TCP/IP命令的使用难易程度不同。你可以很容易地访问自己在另一个Unix系统上拥有的帐号,还能控制其他用户对你的帐号的访 212第四部分远程访问下载问,对不同的用户授予不同的访问权限。15.1网络信息检测命令:rwho、ruptime和ping有几个TCP/IP命令专门用来获取网络中系统的信息,你可以使用它们来了解另一个系统上的用户信息,以及某一个系统的当前运行情况。例如,rwho命令的功能有点类似于who命令,它显示当前网络中每一个系统上的用户,如下所示:ruptime命令用来显示网络中每一个系统的一些信息,包括系统是处于关闭状态还是开启状态、开启或关闭状态的持续时间、系统上当前的用户数,以及系统在最后5、10和15分钟时的平均负载。如下所示:ping命令用来检测一个系统是否连接上了网络,该命令中的参数就是你要检测的系统名称。在下面的示例中,检测mygame系统是否开启并与网络连接上了:如果你正在检测的系统已经关闭了,那就得到下面示例中那样的响应,在这个例子中mytrain系统已经关闭,与网络断开了:15.2远程访问权限文件:.rhosts.rhosts文件用来设置一个帐号的访问权限,以控制那些使用TCP/IP命令的用户的访问。它是用户在自己帐号中创建的一个文件,可以使用像Vi那样的标准文本编辑器进行编辑。它必须放在用户的home目录中。在下面的示例中,显示一个.rhosts文件的内容:$cat.rhostsmytrainchrismygamejustin采用.rhosts文件是一种简便的方法,可以使其他用户在不知道你的密码情况下访问你的帐号。如果需要禁止某个用户的访问,只要在你的.rhosts文件中删除该用户的系统名和登录名就行了。只要一个用户的登录名及系统名在你的.rhosts文件中,那他就可以无需知道密码的情况下访问该帐号。当然,对于远程登录操作就不需要进行这种访问。但是,对于远程拷贝文件或远程执行Unix命令等一类的远程命令,就需要设置.rhosts文件。这种.rhosts文件向你提供了一种简便的方法,即可以使用TCP/IP命令直接访问你在其他系统上拥有的帐号,而无需首先进行登录。这样,远程系统上的帐号就相当于你当前在本地系统上登录帐号的延伸。这种情况下,就可以使用rcp命令在两个目录之间拷贝任何文件,而无需管它是放在哪一个帐号上;也可以在其中的任何一个帐号上执行Unix命令。 第15章TCP/IP远程访问操作213下载15.3远程登录命令:rlogin如果你在一个网络中的不同系统上都有帐号,或者有权访问另一个系统上别人的帐号,那么就可以首先登录到其中一个系统上的帐号,然后再远程登录到另一个系统上的帐号。使用rlogin命令,可以完成上述远程登录操作。rlogin命令中的参数就是需要登录的系统名称。rlogin登录程序与通常的登录程序有点不同,它不要求用户输入登录名,因为它假定远程系统上的登录名与本地系统上的登录名是一样的。执行rlogin命令后,屏幕上立即出现要求用户输入密码的提示,输入密码正确后就可以登录进入远程系统上的帐号里。rlogin之所以假定远程系统上的登录名与本地系统上的登录名一样,是因为大多数用户对不同系统上属于自己的账号都设置同一个登录名。不过,有时候远程系统上的登录名与本地系统上的登录名并不一样;因此,rlogin命令设有一个-l选项,允许用户登录具有不同登录名的远程系统上的帐号。如下所示:$rloginsystem-name-llogin-name在下面的示例中,用户使用justin登录名登录mygame系统:$rloginmygame-ljustinpassword$一旦进入了远程系统,就可以执行任何Unix命令。如果要退出,可以使用exit、Ctrl-d、~.、或logout(C-shell)命令。如前所述,当你远程登录到另一个系统上的帐号时,系统会读取远程帐号上的.rhosts文件。如果在.rhosts文件中已经设置了你的登录名及其系统名,那么在你使用rlogin命令进行远程登录时,就不需要输入密码了。如下所示:$rloginmygame-ljustin$15.4远程文件拷贝命令:rcp使用rcp命令,可以在本地系统和远程系统之间拷贝文件。rcp命令类似于cp命令,但它用于远程文件传送。它要求远程系统上的.rhosts文件中设有本地系统名及用户的登录名。rcp命令中的参数包括源文件名和目标文件名,另外还需要在远程系统上的文件名前加上系统名称,中间用“:”分隔:$rcp系统名:源文件名系统名:目标文件名用户可以从远程系统上拷贝一个文件到本地系统上,或者从本地系统上拷贝一个文件到远程系统上。如果从本地系统上拷贝一个文件到远程系统,则目标文件就是远程文件,在它前面就必须指明系统名;而源文件是本地文件,就不用指明它的系统名。其命令格式如下:$rcp源文件名远程系统名:目标文件名在下面的示例中,用户从本地系统上拷贝一个叫weathert的文件到远程系统mygame上,目标文件改名为monday:$rcpweathermygame:monday如果从远程系统上拷贝一个文件到本地系统上,源文件就是远程文件,在它前面要指明 214第四部分远程访问下载系统名;而目标文件是本地文件,就不用指明它的系统名。其命令格式如下:$rcp远程系统名:源文件名目标文件名在下面的例子中,用户从mygame远程系统上拷贝wednesday文件到本地系统上,并将目标文件名改为today:$rcpmygame:wednesdaytoday使用rcp命令还可以拷贝整个目录,只要在rcp命令中带上-r选项就能在两个系统之间拷贝一个目录及其子目录下的所有文件。与cp命令类似,rcp命令中也要指出源目录和目标目录。另外,还要在远程目录的名称前加上系统名,中间用“:”分隔。如果从本地系统上拷贝一个目录到远程系统上,那目标目录就是远程目录,必须在它的前面加上远程系统名,其命令格式如下:$rcp-r源目录远程系统名:目标目录在下面给出的例子中,用户将本地目录seasonwins拷贝到mygame远程系统上的oldwins目录:$rcp-rseasonwinsmygame:oldwins如果将远程系统上的一个目录拷贝到本地系统上,源目录是远程目录,需要在它的前面加上远程系统名,命令格式如下:$rcp-r远程系统名:源目录目标目录在下面的例子中,用户将mygame远程系统上的birthdays目录拷贝到本地系统上的party目录中:$rcp-rmygame:birthdaysparty有时候,用户需要在rcp命令中使用一些特殊的字符,例如在文件名中采用“*”通配符或者使用“.”代表当前目录。这些特殊字符一般用于本地系统,如果要用于远程系统就必须在它们前面使用一种符号引注。在下面的例子中,将所有mygame系统上带.c扩展名的文件拷贝到本地系统上的当前目录中。其中,用于远程系统的“*”前面用反斜杠引注了,而用于本地系统的“.”就无需引注:$rcpmygame:*.c.在下面给出的另一个例子中,将本地系统上的reports目录拷贝到远程系统上的当前目录中。其中用来表示远程系统上当前目录的“.”,前面用了反斜杠引注:$rcp-rreportsmygame:.15.5远程执行命令:rsh使用rsh命令,可以在远程系统上执行一个Unix命令,但结果显示在本地系统上。这种情况下,你的系统名和登录名就必须设在远程系统上的.rhosts文件中。rsh命令带两个参数,一个是远程系统名,另一个是Unix命令,其格式如下:$rsh远程系统名Unix命令在下面给出的例子中,通过rsh命令在mygame远程系统上执行ls命令,以列出mygame系统上/home/justin目录中的文件:$rshmygamels/home/justin 第15章TCP/IP远程访问操作215下载如前所述,一般情况下特殊字符都用于本地系统,除非用一种符号引注了。这同样适用于命令行中的重定向符或管道命令符。在下面的例子中,列出远程系统上的文件,并将它们送给本地系统的标准输出。其中的重定向符“>”用于本地系统,表示将远程文件列表送到本地系统的myfiles文件中:$rshmygamels/home/justin>myfiles如果对重定向符加上引注,就可以在远程系统上进行重定向操作。在下面的示例中,重定向符“>”被一对单引号引注了,所以它是用在远程系统上。在这个例子中,ls命令产生的文件列表结果,被重定向到远程系统上的myfiles文件中:$rshmygamels/home/justin'>'myfiles对于管道命令符,情况也一样。在下面的例子中,第一个命令将文件列表送到本地系统上的打印机,而第二个命令是将文件列表送到远程系统上的打印机。如下所示:$rshmygamels/home/justin|lp$rshmygamels/home/justin'|'lp 下载第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公司在SystemVUnix版本中开发的一种通信软件包。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!dylansyslist$uuname|lpr$uuname|grepmytrainmytrain$如果要显示本地系统的信息,可以使用uname(前面只有一个u)命令。16.3UUCP连接管理命令:uucico和uuxqtuucico程序用来处理系统中所有的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-x9rose16.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!marylouuupick命令用于接受由uuto发送的文件。执行uupick命令时,只要在命令行中键入uupick,不用带任何参数。在命令执行过程中,屏幕上依次显示出每一个从其他系统由uuto命令发送来的文件,并要求用户给出操作选择。如果要将文件移动到用户当前目录中,就只要输入m;如果要将文件移动到指定目录中,就需要在m后指定目录路径。键入回车键后,屏幕上就出现下一个接受文件的提示,经过用户再一次的选择后,又接着出现再下一个文件的提示,以此类推,直到所有接受到的文件列表完毕为止。如果在选择时,用户不输任何值就敲入回车键,则不处理当前显示的文件,而待下次执行uupick命令时仍显示该文件。uupick命令的用户选择项也在表16-1中列出了。在下面给出的示例中,uupick命令向用户提示了三个接受到的文件。第一个文件是mydata,它被移动到当前目录中,然后显示了它的体积大小;第二个文件名叫windata,它被移动到season目录中;第三个文件名叫project,它这次不被处理,待下次执行uupick命令时还显示该 220第四部分远程访问下载文件。$uupickfromsystemgameplace:filemydata?m10blocksfromsystemmytrain:filewindata?m/home/dylan/season2blocksfromsystemgameplace: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则开启所有的typeuuxqt用来执行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和uustatuucp命令用于直接在两个系统之间拷贝文件,它要求有两个参数,即源文件名和目标文件名。其语法格式如下:$uucp源文件目标文件使用uucp命令,可以从本地系统上的目录拷贝文件到远程系统上的某个目录中,或者从远程目录中拷贝文件到本地目录中。在两种情况下,都要求在命令中指出远程系统的名称。在下面给出的命令中,将本地文件mydata拷贝到远程系统gameplace上的chris目录中:$uucpmydatagameplace!/home/chris/mydatauucp命令也以批处理方式在后台进行操作,你的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-k79516.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目录中,并在执行时使用该拷贝
标记符用来将后面的文本格式化成段落;
此文档下载收益归作者所有
举报原因
联系方式
详细说明
内容无法转码请点击此处