您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > AI人工智能 > 第05章118-144
第5章文件管理目标完成此章学习后,你将掌握下列内容:使用常用的文件管理命令。解释采用行式打印机缓存系统的目的。鉴别和使用行式打印机缓存系统的命令与系统交互。监控行式打印机缓存系统的状态。第5章文件管理1195.1什么叫文件注释UNIX系统中的所有东西都以文件的形式存在,如:普通文件文本、邮件、数据、图像、程序源代码。程序可执行程序,如ksh、who、date、man和ls。目录包含其文件和目录的名字及文件系统标识的特殊文件。设备提供硬件设备(如磁盘、终端、打印机、内存)接口的特殊文件。文件只是一个名字,与其相关的数据存在集中存储设备上,这个存储设备一般是磁盘。就UNIX系统而言,文件只不过是数据字节组成的一个流而已。文件中没有预先定义的记录、域、记录尾标记和文件尾标记。这样应用开发者能够灵活地定义其文件的内部特征。普通文件(regularfile)通常包含ASCII字符,一般由终端的文本编辑器创建。程序文件(programfile)是一个包含可执行指令的普通文件。它可以包括已经编译的代码,这些代码在终端上无法显示(如mail、who、date),它也可以包含UNIXshell命令,一般被称为shellscript,这些脚本在终端上能显示出来(如.profile、.logout)。目录(directory)是一个包含其装载文件和目录名字的特殊文件。它还为每个条目存储120UNIX系统基础了一个inode号,这个inode号说明在文件系统的哪个位置可以找到文件信息和数据存储的地址(注意:这不是普通文本文件)。设备文件(devicefile)是一个提供实际硬件设备与系统内核之间接口的特殊文件。既然这些文件做提供接口用,那么它们并不承载任何实际的数据。这些文件通常存在/dev目录下,一个文件对应一个计算机要与之通信的硬件设备。第5章文件管理1215.2对文件能进行哪些操作注释由于UNIX系统的大部分操作集中在文件和目录上,因此UNIX系统提供了很多命令管理文件和目录。前面已经初步学习了一些目录管理命令。在本章将学习其他用在文件和目录上的命令。同时还要掌握如何创建文件和管理文件的内容,这可以通过编辑器vi来实现。122UNIX系统基础5.3文件属性注释文件有好几个属性。可以用ls–l显示出这些属性。Type表明是普通文件还是特殊文件。PermissionorMode定义对文件的访问控制。Links与某一个单一的数据集合相联接的文件名的个数。Owner文件所有者的用户标识。Group能访问文件的组的标识。Size文件包含的字节个数。Timestamp文件最后一次被修改的日期。Name最多14个字符(如果支持长文件名,最多255个字符)。文件名的格式要求最长为14个字符。如果支持长文件名,最长为255个字符。通常包括字母(a-zA-Z)、数字(0-9)、点(.)、连字符(-)和下划线(_)。许多其他字符对于shell有“特殊”的意义,如空格或前斜杠,因此不能将这些字符作为文件名的一部分。其他的特殊字符还包括:*、、、\、$和|。如果将这些字符当成文件名的一部分,可能会碰到一些意想不到的情况。第5章文件管理123使用两个单词的文件名常用一个下划线联接这两个单词。$cdadir非法语法—cd认为有两个参数$cda_dir合法语法—cd认为有一个参数在UNIX系统中点(.)只是一个普通字符,因此可以在文件名的任何地方出现,包括多次,如a.bdcefg、a.b.c.d和a...b都是合法的。只有出现在文件名的第一个地方,这个点(.)才显出一定程度上的特殊,这时这个点说明该文件是一个隐藏文件。可以键入ls–a将这些隐藏文件显示出来。文件类型UNIX系统支持很多种文件类型,ls–l执行结果的第一个字符说明的是文件类型。常见的文件类型有:-普通文件d目录l符号联接文件n网络特殊文件c字符设备文件(终端、打印机)b块设备文件(磁盘)p命名管道(一个供进程间通信的管道)124UNIX系统基础5.4cat——显示文件的内容注释cat命令用来无缝地联接和显示文本文件。它不对文件的输出结果增加任何格式,包括不在一个文件的结尾和下一个文件的开始处增加分隔符。用法是:cat[file...]cat命令的典型用法是查看一个文件的内容,如:catfunfile这个命令行将文件funfile的内容写到屏幕上。但是,如果这个文件相对于终端屏幕过大的话,显示的文本会滚动过快,以致无法阅读。因此,需要更智能的方法在屏幕上显示文件。当cat命令没有带参数时,它会等候键盘的输入。这与mail和write命令的用法相似。输入内容必须以Return或Ctrl+d结束。一旦输入结束,输入的内容会在屏幕上显示出来。警告如果文件包含控制字符,如经编译过的程序,这时如果用cat将这个文件显示到终端,终端可能会瘫痪。可用以下方法中的任一种恢复屏幕:方法一:(1)尝试退出——按Return键,接着键入exit命令。(2)关闭终端——关闭,然后重开。(3)重新登录——登录进系统后,应该可以正常操作。第5章文件管理125方法二:(1)按Break键。(2)同时按Shift+Ctrl+Reset键。(3)按Return键。(4)输入命令:tset–e–k。(5)输入命令:tabs。如果还不行,须让系统管理员(或教员)来终止终端进程。126UNIX系统基础5.5more——显示文件的内容注释more命令将指定文件的内容打印到屏幕上,一次只打印一屏。要看下一屏的内容按Space键;要看下一行的内容按Return键;要从more命令中退出按q键。more命令还支持其他功能。请到参考手册查阅有关其他功能的解释。第5章文件管理1275.6tail——显示文件尾部的内容注释tail命令对于显示文件最后n行(注意:如果没有指定n的大小,n的默认值为10)文本非常有用。这个命令对于定期追加的长文件尤其有用。用tail命令,能立即到达系统记录的最新内容,而不用像cat或more命令那样要从头滚动到末尾。128UNIX系统基础5.7行式打印机缓冲系统注释UNIX操作系统提供了一个工具叫行式打印机缓冲系统(lineprinterspooler,简称lpspooler),用来配置和控制系统中的打印作业。lpspooler从系统的所有用户接收打印请求,对打印机做好配置,然后每次打印一个作业。想像一下如果没有缓冲系统,会出现什么问题。每当一个用户想打印文件时,他(她)须确认没有其他人同时在打印文件。两个用户不能同时在同一台打印机上打印。行式打印机缓冲系统有许多功能保证在系统管理员干预最少的情况下,打印系统能顺利运行。将打印请求提交给行式打印机缓冲系统后,系统将这些请求排在一个打印队列。可以查看有哪些文件在队列中,系统处于什么状态。如果决定不打印作业,可以将已经排队的打印请求取消掉。第5章文件管理1295.8lp命令注释lp命令将要打印的文件排队,让这些文件等候打印。对于每个用lp提交的请求,系统分配一个唯一的作业标识号(称为请求标识)。lp要么将文件排队,要么直接读取标准输入设备。lp命令的最简单用法是提供一个文件名作为参数,lp将要在默认打印机打印的文件排入队列。lp命令有一些选项设置打印作业的路由和打印。lp命令的用法是:lp[-ddest][-nnumber][-ooption][-ttitle][-w][file...]lp的一些选项如下:130UNIX系统基础-nnumber打印份数(默认为1)。-ddest执行打印请求的打印机名字。-ttitle打印结果的首页标题。首页就是一个表明打印作业所有者身份的标题页。-ooption指定与打印机有关的选项,如字体、倾斜度、密度、原始打印(镜像垃圾)等。-w文件打印完毕时向用户的终端写一个消息。从lp(1)可以查看到lp选项的详尽列表。本节幻灯片中的第一个例子是lp的最简单用法。将文件report打印到系统默认的打印机,lp命令返回一个请求标识和被提交文件的个数。在这个例子中,文件report被送到打印机“dp”,以dp-112为请求标识排到打印队列中。在第二个例子中,请求打印memo1和memo2,每个文件各打印两份(-n2)。在第三个例子中,-d选项定义的是目标打印机。打印结果的标题为“confidential”。第5章文件管理1315.9lpstat命令注释lpstat命令报告行式打印机缓存系统各部分的状态。lpstat没有带参数时,显示的是当前提交作业的状态。-t选项将显示系统中所有打印机的状态。lpstat–t的显示结果为一些打印机缓存系统的信息:$lpstatrw-55john4025Jul614:26:331994$$lpstat–tschedulerisrunningsystemdefaultdestination:rwdeviceforrw:/dev/lp2235rwacceptingrequestssinceJul110:56:201994printerrwnowprintingrw-55.enabledsinceJul414:32:521994rw-55john4025Jul614:26:331994onrwrw-56root966Jul614:27:581994$上述信息中各项的意义如下:schedulerisrunningScheduler是一个程序,将打印请求发送到正确的打印机。如果132UNIX系统基础scheduler没有运行,将无法打印文件。systemdefaultdestination:rwrw是系统默认打印机的名字。如果使用lp命令时没有指定-dprinter选项,请求将送到名为rw的打印机。请注意默认打印机有可能与举例说明的不一样(如lp)。deviceforrw:/dev/lp2235告诉缓冲系统该打印机与计算机联接的接口。rwacceptingrequests这意味着缓冲系统会将文件排在rw的队列中。printerrwnowprintingrw-55正在打印请求ID为rw-55的作业。EnabledEnabled说明请求的作业可以被打印。如果打印机被disabled,仍然可以提交作业,但必须等到打印机被enabled才可以打印。剩下的语句是对打印作业的描述。描述的属性有请求ID、发出请求的用户、请求的大小和发出请求的时间。第5章文件管理1335.10cancel命令注释cancel命令用来从打印队列中删除打印作业。取消了打印机的当前作业后,打印机打印的是下一个作业。如果某个作业极其大或者有人不小心要打印一个二进制文件(如/usr/bin/cat),这时就需要取消该作业。记住:lp通常打印的是文本文件。如果没有指定正确的选项(如-oraw,用于打印屏幕垃圾),那么打印除文本文件之外的任何其他文件将会使打印机发生混乱,浪费很多纸。要取消一个请求,须告诉缓冲系统取消哪个请求,给cancel命令指定一个参数。cancel命令的参数有两种。请求ID(由lp或lpstat得知);打印机名。cancel指定一个请求ID后,该请求将被取消掉。如果给cancel指定的参数是一个打印机名,那么该打印机将停止打印当前的作业,并开始打印队列中的下一个作业。$lpstat134UNIX系统基础rw-113mike6275Jul618:461994rw-114mike3349Jul618:481994rw-115mike3258Jul618:481994$cancelrw-115request“rw-115canceled$lpstatrw-113mike6275Jul618:461994rw-114mike3349Jul618:481994$cancelrwrequestrw-113canceled$lpstatrw-114mike3349Jul618:481994任何用户都可以执行该命令取消任何请求,甚至可以取消其他用户的请求。但系统会发一封邮件将取消者名字告诉
本文标题:第05章118-144
链接地址:https://www.777doc.com/doc-2199805 .html