版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
作为一个基本的功能,操作系统能够在磁盘、磁带等设备上和管理文件。用户能并。UNIX系统提供一系列的执行基本文件管理操作令,比如列表、显示、打印以及拷贝、更名和删除文件等。这些都是使用文件名作为参数的简单命令。文件都是在 中组织的, 提供了和文件的结构。实际上,UNIX系统中的所 基于本章的目标,你应该接触一些文件,你可以用编辑器方便地建立文件。UNIX中有几个标准的文本编辑器,比如V文本编辑器等。你的系统中可能也有一些其他的流行编辑器,但是,7章关于V编辑器的介绍。在UNIX中,所有的文件都具有同一种物理格式,即字节流,没有在其他系统中可能发现的UNIX甚至不区分文本和二进制文件,而且,UNIX将文件的概念应用到系统中的每一个数据组成部分。被分为文件和设备,将所有的都看成文件则可以允许UNIX方便的操作和交换数据。文件中的数据能够直接发送到屏幕等设备上,因为一个设备与系统的接口使用的是与普通文件同样的字节流文件格式。你可以用任何字母、下划线以及数字命名文件,其中也可以加入点和逗号。然而,除了在某中特殊情况下,文件不能以点开始。其他的字符,比如斜杠(/、问号(?(*)都被系统保留为特殊字符,而不能作为文件名的一部分使用。系统V14个字符。BSDUNIX和SVR4已经将文件名长度扩展为255你可以在文件名中包含扩展名作为文件名的一部分。点用于区分文件名和扩展名。扩展名用于将文件分类。目前有几种约定俗成的标准扩展名。例如,C源代码文件通常以.c为扩展名。已编译的目标码文件以.o为扩展名。你当然也可以自己定义文件扩展名。下面的例子都是有效的UNIX文件名。系统中也有一些特殊的初始化文件用于执行一些 配置命令,这些文件通常以.开始并必须加上-a虽然所有的文件都在物理格式上是一种类型,即字节流,这个统一的文件类型用于实现其他的操作系统单元。屏幕或键盘等设备具有与文件一样的字节流格式。系统与设备的接口都是一个文件。其他的部分,如等,其本身都是字节流文件,只不过它们具有特殊的内部组织。文件包含了 信息,并是以一种特殊的 格式来组织的。虽然所有的系统单元都以文件对待,但它们也构成了不同的文件类型。字符设备是一种文件类型, 是另一种文件类型文件类型的数目根据不同的UNIX系统实现而有所不同。但是,通常有四种通用的文件类型:普通文件、 文件、字符设备文件和块设备文件。虽然你可能很少涉及到文件的类型,但当搜索 用find命令时可以将文件类型作为搜索标准以搜索或设备名。find命令将在搜 的讨论中介绍不同的s 、工具和应用程序都需要完成配置目的而使用一些专门的本文文件。例如,不同的s 要。.cshrc文件是C-s 的配置文件当每次用户进入C-s 的时候,里面令都被执行。mailx程序有一个配置文件叫做mailrc,当用户每次使用mailx程序的时候,该文件中令都被然后执行。以..profil是BASH和Bournes 的登录配置文件以这两个s 登录的时候,该文件中令都被并执行。点文件是普通的文本文件,你可如Vi和Emacs等。ls命令并不显示 中的点文件,除非你使用了-a选项。虽然所有的普通文件都是字节流格式,但文件可能以不同的方式使用。最显著的不同就是二进制和文本文件,已编译的程序就是二进制文件的例子。然而,文本文件也可以根据它们不C程序源代码的文件、s命令文件或空文件。文件也可能是一个执行程序或文件。UNIX中的file命令帮你确定文件的类型,它首先检查文件的开始。file在文件的开始几行中寻找特殊的或特殊数字,但这并不总是file命令检查两个文件的内容并确定文件的类型。为了说明分类的繁多,在下一个例子中file命令分别检查了一个C源代码文件、一个可执行file命令加上-f选项则允许你从一个文件中文件名,而不是在命令行上输入。在下面的例子中,文件名是从myfiles文件中的。如果你需要逐字节地检查整个文件,你可以使用od命令。od命令执行文件内容的转移,缺省情况下,它以八进制格式打印出每个字节。但你也可以指定为字符、十进制或十六进制的输od命令很有用。如果你执行一个字符方式的文件转移,那么某些不可打印字符就会以字符的方式表示出来。例如,enter键就会有\n代表。表4-1中列出了file和od命令及其选项。 od 以八进制、字符格式、十进制或十六进制的方式逐字节地打印文件的内容缺省为八进制 操作系统的一个基本的功能是文件管理。你可能需要对文件执行某些基本的输出操作,比显。UNIX有几个执行文件输出操作令:ls、cat、more、pg和lp。lscat、more和pglp命令将文件送到打印在BSDUNIX和Linux中是lpr。表4-2中列出了这些命令以及相应选项。当你登录到UNIX系统中时,你可能需要列出你自己主下的文件。ls则可以提供这样的功能。它可以输出一个包含该中的文件和的列表。ls代表list。该命令有很多的选项,5章中详细讨论。ls命令本身只列出文件和名。你也可能需要文件的内容。cat、more和pg命令可以在屏幕上显示文件的内容。cat代catenate。它实际上是一个非常复杂和通用令,将在第5章中详细介绍。然而,这里只是使cat命令可以将文件的内容一次全部输出到屏幕上,这对于大文件来说就会产生问题。当cat命令用于大文件时,文件的内容快速地在屏幕上划过。more和pg命令则可以通过一次显示一屏more命令是一个C-s命令,而pg命令是一个Bournes命令。然而,二者在控制文件的显示功能上具有很多的共同令。当more和pg激活一个文件时,首先显示文件的第一屏文本(见图4-1)。要继续显示下一屏的话,可以按空格键。要向前移动文本,可以敲‘b’键。你可以在任何时候敲‘q’键退出。作文件时,图4-1用于逐屏显示文件令more和有时候你也需要打印文件。你的系统常常会一系列的,其中一个是缺省的。有lp命令,在AT&TUNIX和SVR4系统上使用;另外一组使用lpr命令,在BSDUNIX上使用。lp命令可以在缺省上打印文件,除非指定其他的。lp代表行打印。在下一个例如果你想一次打印几个文件,你可以在lp命令后在命令行上指定多个文件。在下面例子中,你也可以指定一个特定的。系统上的特定都有自己的名字,你可以用-p选项后面加名来指定你要将文件打印到哪个。在下面例子中,文件mydata被打印到打印作业被放在队列中,每次打印一个。你可以使用lpstat命令在任何时候观察你的作业在什么位置。lpstat给出标识打印作业的名字、发送作业用户的登录名、作业的字节数大小和作业提交时间。在下面例子中,作业名字是evans1-15,即evans1上的第15个作业,用户的录名是chris,作业的大小是360当你需要取消作业的时候,lpstat命令非常有用。Cancel命令加作业名可以从打印队列中删在BSDUNIX和其他版本的UNIX中,你可以使用lpr命令打印文件。同样也有相应令列出打印队列和删除打印作业。在该系统中,你可以使用lpq命令列出打印队列,用lprm命令从打印队列中删除打印作业,而不是lpstat命令和cancel。lprm命令以打印作业的表示数字或以作业所有者名字作为参数。在下述例子当中,lprlpqlprm从队列中删除了一个打印作业。 选项/命 $ prefacecat 显示文件。以一个文件名作为参数,它将文件的内容直接送到标准输出,缺省是直接输出到屏幕上$catpg 逐屏幕显示文件。以一个文件名作为参数,它将文件的内容输出到屏幕上,每次一屏。该过滤器在早期的系统V版本中和SVR4中存在(续 选项/命 $pg numspacebarnum 退出more 逐屏显示文件。以一个文件名作为参数。它将文件的内容输出到屏幕上,每次一屏。该过滤器在BSD和SVR4中存在。$more向后跳过numd=vnh列出所有的moreq退出$lpmydata$lprmydataUNIX中有些命令可以允许你删除文件、改变文件名称或拷贝文件 cp、mv和rm命令分可以拷贝、改名和删除文件,它们都以文件名作为参数。cp命令为文件做一个拷贝。mv命令为文件改名。rm命令可以删除文件。然而,在使用这些命令的时候需要特别,cp和mv命令非常容易无意识地破坏已经存在的文件,而rm命令则会不注意地删除你的所有文件。表4-3中列出你可能在很多时候需要拷贝文件。例如,当你继续在原始文件上工作的时候,文件的拷贝可以作为备份。如果你的原始文件出了什么问题的时候,你总是可以使用备份文件。cp命令可以产生文件的拷贝。cp就代表copy。cp命令以两个文件名作为参数。第一个文件名是原始文件,即要拷贝的文件。第二个文件名是目标文件,即包含所拷贝的数据。如果目标文件尚不存在,则可以通过c在下面例子中,对文件today作了一个拷贝并命名为mondaycp命令是有可能破坏其他文件的,因为cp首先建立一个文件然后将数据拷贝到上面。如果系统中已经有了一个与目标文件同名的文件的话,那么该文件就被破坏了并建立一个与该文件同名的新文件。在某种意义上说,是原始文件被新文件所覆盖。下面的例子就演示了这个问题。文件sunday已经存在。然后sunday又被用于cpcp命令就用文件today的内容覆盖了已经存在的sunday文件。有些系统可以配置成能够检测这种覆盖的情况。当你要覆盖已经存在的文件时,系统会对你提问。如果你回答‘ycp就会认为是否定的答案,并忽略该次操作,保留原始文件。如果你的系统没有配置这个选项的话,你也可以显式的输入。用于检测覆盖情况的cp选项是-i。使用-icpcp命令,如果你愿意,你可以更改文件名,mv命令就可以完成这种操作,mv代表move。这里术语move看起来是改名的一个奇怪的概念。然而,在下一节中,我们可以发现mv命令还可以广泛地用于从一个到另一个中移动文件。像cp一样,mv在下面例子中,文件today被改名为monday在用mv命令改文件名时,你可能会恰好碰到目标文件名已经被其他文件使用。在这种情况4-2显示了一个文件是如何被mv命令删除的。文件Sunday已经存在。而用户将文件today该名为sunday。那么mvsunday文件后,将today改名为sunday,开始的Sunday文件则已丢失。一些系统也可以配置成可以检测覆盖情况。如果是这种情况,当你要删除已存在的文件时,cp一样使用-i选项检测覆盖情况。在下面的例子中,文件sunday已经存在。mv命令检测到覆盖情况,并提问你是否确定要覆盖那个文件。主主图4-2如果不用-i选项的话,mv命令就会覆盖文件。在本例中,文件today被在你使用UNIX系统过程中,你会发现你所使用的文件数目会增长很快。在UNIX系统中建立文件是很容易的,编辑器和cp等命令都可以方便地生成文件,最后,很多的这种文件都会过时并不再使用,你可以使用rm命令删除这些文件。rm代表remove。rm命令可以任何数目的文件名作为参数,并将其全部删除。你可以把删除文件想象成移动过程。rm命令从你的中移走文件。下面的例子中,文件today被rmrm命令是不可逆的。一旦一个文件被删除,则不能再恢复。你可能偶然地输入了 rm命令,而实际上是想输入一些其他令如cp或mv。但当你敲入回车键并你的错误的时候,一经像cp和mv命令一样,你的系统也可能配置成能够检测你是否真正地想删除文件。系统会一个一个地提示你是否想删除该文件。如果输入‘y被删除,如果输入其他的什么东西,文件则保留。若系统没有配置成这种方式的话,你也可以为rm加-i选项。-i选项指示rm首先提示你是否同意删除文件。如果指定了多个文件,rm会一个一个删除,并且每次都要你确认。在下面的例子中,rm命令将要删除today和Sunday两个文件。然后它会对每个文件要求你的确认。用户决定删除today,但保留sunday。如果你的系统没有配置成检测覆盖情况或使rm提供确认,你也可以自己配置个人环境来实 $cptoday $mvtoday $rmtodaymonday - 删 及其文使用UNI系统,你不但可以和获取文件,而且还可以将文件组织到 中。 可以想象成文件抽屉,每个抽屉保持几个文件。要文件,你可以打开一个文件抽屉。然而,和抽屉不一样的是, 可以彼此嵌套在一起,在一个 中,还可以建立其他的 。在这些中,你还可以依次建立 , 结构就像树上的枝杈,每个分支都可以生出其他的分支。 开始的,root 可包含不同用户的 。当你登录到系统中时,你则被置于你的 当中。系统给予这 里,你还可以依次建立的 里面文件。这种情况对于系统中所有其他用户来说都是一样的。每个用户都拥有自己的并以他们各自的登录名为标识。他们当然都可以建立自己 UNIX是最先实 的几个系统之一,其他的操作系统也都实现了自己版本 。和 除了一些重要的不同以外,还是非常类似的。很多的GUI都 当你在不同的项目工作过程中生成越来越多的文件时,你可能会发现将你的文件组织到不同的 中很有帮助。像文件抽屉中的文件一样,你可以建立自己的 并将文件放在里面你也可以指定一个缺省的 ,这样你所建立的任何文件都自动放在里面。在下面的例子中,用户建立了一个reports ,里面存放着包含天气预报的文件。 。mkdir命令用于建立 ,rmdir命令用于删 $mkdir $rmdircddirectory- $cd$ 标识当前工 的 $cd$cptodaydirectory- 用‘/’符号分 名和文件名。这对于在用户 和一个下$cptoday$mvtoday 。cd代表changedirectory。 文件。例如,ls命令只列出你工作 ,可以有效地使你从一 切换到另一你还可以嵌 ,就是说,在一些中,仍然可以继续建 。这.1建 在下面的例子中,mkdir命令建立了reports 。图4-3显示了新建立的 主新图4-3使用mkdir 名和文件名。只使用ls则不能区分 名后面会加上一个‘/’以和文件名区分。 。rmdir命令就具有这种功能,rmdir代表removedirectory。rmdir以待删除的 在下面的例子中,rmdir命令删除 上使用rmdir命令则会失败。你必须 中的所有文件。而rm命令有一个特殊的选项;-r,它允许你以 在下面的例子中,rmdir会因reports 以后,可以用cd命令进入该 录,当你登录到系统中时,你的 是你的工 。cd命令允许你把其他 变为工 到reports ,然后用Vi编辑器建立了一个叫做sunday的文件。作 是reports。如果在建立sunday文件后,执行ls命令就会看见sunday图4-4中说明了从用户 切换到 report。该图中的 主图4-4使用cd命令加一 ,只需简单地输入cd命令,而不需要加上 可能发现你会从你的主 切换到另外的 再返回,多次反复。在下例中,用户从自己主 中切换到reports 了ls命令以显示主 和reports 中的文件用户然后用c命令返回自己的主 。 注意当你建立新的时候,你总是已经在工作中。你随后所建立的任何都位于那个工作当中。你在其中建立新的和新本身之间是一种父子关系。工作可以说是新建立的的父。如果,在chris中,用户建立了reports,然后chris目录就成为reports的父,reports是chris的子。你可以使用双点符号代表一个的父(4-5。它代表父的路径名。你可以在使用cd命令时应用双点符号来移动到上一级父,使你的父成为当前。在下例中,用户移动到reports。然后,使用命令cd..切换到他的主。父子图4-5路径名和父- 名作为cp命令的第二个参数,从而将文件从一个 名。在下例中,文件today就 主子图4-6使用cp命令,可以将一个文件从主 中,而且该拷贝被起了一个新名叫monday。用户 ,比如reports等,拷贝一个文件到 的名字。cp的名字加‘/在下例中,文件today从 拷贝到父中。你需要式来标识 ,你可以使用双点符号来代表 的路径名。下面 的话,你想要将文件monday从reports 如果
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 社区抗灾救灾工作总结(3篇)
- 班级体育的活动总结(3篇)
- 无人值守监测信息系统操作使用手册
- 酒店服务员实习总结5篇
- 年产500t O-甲基-N-硝基异脲技改项目可行性研究报告
- 日处理500吨小麦加工项目可行性研究报告
- 质检员个人工作总结5篇
- 设计卫生应急队伍管理办法
- 建筑垃圾运输服务承诺书模板
- 公园设施翻新合同
- 2024-2025学年初中九年级数学上册期中测试卷及答案(人教版)
- 电梯日管控、周排查、月调度内容表格
- 1+X数字营销技术应用题库
- 学校安全隐患排查整治表
- 房屋施工安全协议书
- 新课标学习专项讨论记录(共3页)
- 四川传媒学院学生请假审批程序表
- 呼吸科辩证施膳
- ISIS路由协议
- 工程结算单(样本)
- 论排球跳发球技术的动作结构和特点
评论
0/150
提交评论