分享
 
 
 

Windows和它的父亲.三

王朝system·作者佚名  2006-11-24
窄屏简体版  字體: |||超大  

[本站原创] [连载教程系列] 《Windows和它的父亲》关于DOS 第二章 第一节

第二章 文件系统和命令系统

第一节 DOS的文件系统

DOS有一套完备、严谨的文件系统。其实,这只是DOS提供给用户的管理信息的方法,实质上是用来管理信息的。首先要弄清楚某个文件到底代表的是什么信息,然后再对它进行有目的操作。从文件本身的角度看,每一个文件都有以下几个特性(properties):

1. 文件主名(File Main Name):人要有自己的名字,每个文件也要有自己的名字。DOS下,文件主名可以由不超过8个字节的(至多8个半角字或4个全角字)字符组成,但是以下几个字符是禁用的:?、*、〈、〉、/、、|、:、;、,、.、+、空格。但是Windows对这个规定做了加工,文件主名的长度扩充至256个字节,取消了空格的禁用。为什么要有禁用呢?因为DOS中这些字符已经有了它的特定含义,关于这一点在以后会有介绍。还有一点要注意:DOS还为每个常用的外部设备都起了名字,这些名字也不能被用作一般文件的主名,列表如下:

设备名代表的设备设备名代表的设备CON 键盘和显示器LPT1 这四个是 DOS 提供的“并行接口”, LPT1 上常常连接着打印机,在这一点上很像 PRN 设备

PRN 打印机LPT2 COM1 这四个是 DOS 提供的“串行接口”, COM1 上常常连接着鼠标器, COM2 上常常连接着调制解调器LPT3 COM2 LPT4 COM3 AUX 极少用,与 COM1 相似

COM4 NUL DOS 保留的“空”设备表2-1-1设备名表

2. 文件扩展名(File Extension Name):就像人为了标明自己的身份而穿上不同的工作服一样,文件光有文件名还不够,还要有一个不超过3个字符的'扩展名'以标明该文件的用途(Windows中长度要求放宽到与文件主名之和不超过256个字节)。文件的扩展名是区分文件类型的重要依据。一些常用的文件扩展名列表如下:

扩展名 文件类型 扩展名 文件类型 扩展名 文件类型 EXE 程序文件 TXT 文本文件 BAK 后备文件 COM 命令文件 以上这些文件由常用的编辑系统建立SYS 系统文件 BAT 批处理文件 WAV 波形声音

文件

以上这些文件由系统

建立、使用和删除 以上三种文件是 DOS 的

外部命令,可以直接执行 MID MIDI 文件 HTM(L) 网页文件 AVI 影像文件 这种文件中存储着网页信息 DOC Word 文档 * MP3 MP3 格式

声音文件 ARJ ARJ 压缩包 *** WPS WPS 文档 以上这些文件

存储声音信息 ZIP ZIP 压缩包 CED CCED 文档 TMP 临时文件 ** 以上这些文件是压缩包

表2-1-2常用扩展名表

*文档是文件的一种,它是由用户编辑的各种文件;

**临时文件的扩展名也可能是T01、%A%…;

***压缩包是这样一类文件:许多文件由压缩软件压缩后存储在一个文件中,这种文件就叫做压缩包。它是把压缩前的文件恢复的信息源,所以要保证它的完好。

通常我们把文件主名和文件扩展名统称为文件名(File Name),用“文件主名.文件扩展名”的形式写出,比如一个文件的文件主名是MYFILE,文件扩展名是EXT,那么该文件的文件名就是MYFILE.EXT,我们实际是通过文件名来找到它代表的文件的。文件名是文件的最重要的特性,这一点在Windows下是可以完全套用的。

3. 文件属性(File Attribute):每个文件都可能有四种属性,它们是只读(Read Only)、隐含(Hidden)、系统(System)和归档(Archive)。只读文件不能任意改写和删除;隐含文件不能任意查看;系统文件不能任意改写、删除和查看;归档属性几乎为所有文件所共有,没有什么限制作用。一个文件可以同时具有多种属性,互不冲突。

4. 文件大小(File Size):文件大小也是文件的一种特性?Yes。文件的大小在DOS下也是有专门的字节来记录的,刚刚建立的文件的大小是0个字节。当然文件大小也是可以修改的,所以文件逻辑大小和实际大小并不一定一致,有些病毒就是通过把文件大小改小来隐藏其罪恶之躯的。文件大小和文件占用磁盘空间有区别,也有联系。文件占用的磁盘空间和磁盘的簇(cluster)的大小有关,假设磁盘最小簇为xKB,文件大小为yKB,则文件占用的磁盘空间为([y÷x]+1)×xKB。

5. 文件建立日期和时间(File Created Date & Time):任何一个文件,一经建立,DOS便自动把建立时的系统日期和时间写入文件中,这就能确定文件的建立的时间和日期了。那么DOS又是怎么知道系统日期和时间的呢?是DOS控制基本输入输出系统(BIOS)从互补金属氧化物半导体(CMOS)上读取的,它也是可改的。

文件系统是DOS的核心,也是以后的章节的基础,一定要牢牢掌握。

第二章 文件系统和命令系统

第二节 DOS的树形目录管理模式

文件多了,就有了一个管理的问题。最好是像书柜里的书一样,一类书放在特定的一个抽屉里。DOS为文件也准备了这样的“逻辑抽屉”,只不过在DOS中,它被称为目录(directory)罢了!一张已经格式化的磁盘上,都有一个根目录(Root Directory),好比是一个柜子;在根目录下,又有许多子目录(Sub Directory),就相当于柜子上的抽屉。目录下面可以存储文件,而子目录也是一种特殊的文件,有自己的文件名、建立日期和时间,大小为一个最小磁盘最小簇。所以有人争论说文件还有一种目录属性,我是赞同的。

图2-2-1 DOS的树形目录管理模式示意这样,DOS下的文件系统,就形成了这样一种格局:根目录下存储着一些文件和子目录,而子目录下又存储着一些文件更下一级的子目录…这多么像自然界中的树呀!不是吗?根目录就像树干,子目录就像树枝,而树枝又分叉儿。文件就像树叶,长在树干和树枝上。根目录下的子目录称为一级子目录,其下级子目录称为二级子目录,依此类推,但级数是有限制的。那么怎样才能准确无误地找到每一个文件呢?不难。DOS提出了一个路径(path)的概念,在DOS中表达一个文件的定位遵从以下的规则:

1. 首先确定盘符(drive)。DOS给软盘分配的盘符是A和B,给硬盘分配的盘符是从C开始的若干个字母,给光盘和网络映射盘分配的盘符又在最后一个硬盘盘符以后。弄清文件存在以哪个盘符为代号的盘中,这是第一步。

2. 其次确定所在的目录。不同级的目录用“\”号隔开,根目录用单独一个“\”号表示。这样说也许有一点儿抽象,举个例子来说。比如一个文件名是Eiyl7xb9.DAT文件在根目录下的Windows子目录下的Java子目录下的Packages子目录下的Data子目录下(吓人吧),它的路径就是“\Windows\Java\Packages\Data”;

3. 文件的准确定位就要写成“盘符:路径\文件名”的形式。如果上面那个文件存在C盘上,“C: \Windows\Java\Packages\Data\ Eiyl7xb9.DAT”就是这个文件的准确定位。

4. 每个子目录中都有两个下一级子目录:“.”和“..”,前者代表当前目录(Current Directory) ,也就是这个目录本身;后者代表其所在目录(Location Directory),也叫其父目录(Parent Directory)。比如:“C:\Windows\.”和”C:\Windows”是一回事,“C:\Windows\Java\..”和“C:\Windows”也是一回事。

5. 为了方便用户,DOS提供了两个通配符(Wildcard Character)“?”和“*”。用它们可以一次指定一批文件。“?”代表一个半角未禁用字符或者空格,“*”代表任意多个未禁用字符或者空格。“?”和“*”既可以用在文件主名中,也可以用在文件扩展名中,但不能用在路径中。比如,所有文件(All the Files)可以用”*.*”来匹配;以M开头的所有文件可以用“M*.*”来匹配;所有的Word文档可以有“*.DOC”来匹配;A1.TXT,A3.TXT,A10.TXT,A100.TXT、A100.EXE和ABC.WAV这6个文件中,前2、3、4、5、6个,可以分别用A?.TXT、A??.TXT、A???.TXT、A???.?X?和A*.*匹配;C盘当前目录的上级目录的所有以GB开始的MIDI文件可以用“C:..\GB*.MID”来匹配。而“C:\Windows\Ja??\Pack*\E*.*”则是非法的。一般用户如果要用一批文件,它们一定会在文件名上有某些共同点,用通配符匹配就特别快捷。DOS高版本和Windows系统规定:若扩展名和“.”省略不写,相当于写了“.*”。

6. 每个文件都处在一定的目录下,DOS会可以指定一个目录为系统的当前目录,又叫缺省目录(Default Directory)。为什么叫缺省目录呢?因为如果系统处在这个目录下,文件可以不必写出路径,而是直接写文件名。也就是说,系统是在路径前加上缺省目录后才把文件定位的,除非你连盘符都指定了。若系统的缺省目录是“C:\Windows”的话 ,“C:\Windows\ Progman.EXE”写成“Progman.EXE”就行了。而且,长长的“C: \Windows\Java\Packages\Data\ Eiyl7xb9.DAT”也可以简写成“Java\Packages\Data\ Eiyl7xb9.DAT”。注意,“Java”前的“\”也要一起省去!“\Java\Packages\Data\ Eiyl7xb9.DAT”表示当前盘(Current Drive,缺省目录所在的盘)的根目录下的Java子目录下的Packages子目录下的Data子目录下的Eiyl7xb9.DAT文件。

这就是DOS的树形管理模式。这个管理模式对计算机操作系统界的影响是不可估量的,DOS 2.0版本开始起采用。从此人们摆脱了费时费力的“分辨模块”,可以清清楚楚地把不同性质、种类或归属的文件分别放入不同的子目录内。在不同的子目录下的文件可以同名。这样,就产生了一批“标准”的文件名(当然是不成文的),比如安装文件名一般是SETUP或INSTALL,说明文件一般是README等,从而潜移默化地促进了计算机世界的统一。

Windows对子目录的概念做了加工,提出了文件夹(File Folder)的概念,文件夹里不仅能放文件,还能放其他计算机资源,使计算机资源的任何一个部分不在一个文件夹内,就是一个文件夹本身,但它的管理模式仍然是树形的,文件定位方式也完全一样,由此可见,DOS对Windows产生了多么深远的影响!

第二章 文件系统和命令系统

第三节 DOS的命令系统

以上两节详细地介绍了DOS的文件系统。那么,我们用户如何来实际地操作文件呢?当然如果从深入的汇编观点来看,文件的建立和管理是极繁琐的。难道每个人都得先学汇编再学DOS吗?不,那只是程序员的事儿。DOS为普通用户准备了一套“命令系统”,用户只需要花一点力气记住一些常用的命令(command),就能简单地完成文件和磁盘管理任务了。

图2-3-1 DOS命令的输入和执行示意

那么到底什么是DOS的命令呢?要回答这个问题,还是先打开计算机。DOS启动完毕后,系统便会出现一个命令提示符(Command Prompt),图2-3-1举的例子中,“C:\WINDOWS\Desktop>”便是一般会出现的命令提示符,它由两个部分组成,一个是系统的当前目录(C盘的Windows子目录下的Desktop子目录),还有一个是大于号(“>”),后面停着一个闪闪的光标(Cursor),表示用户可以输入命令了。图2-3-1中输入了一个“DIR A:\*.EXE/W”的DOS命令,怎样才算是一条命令输入完了呢?只要按下键盘上的回车(Enter或Return)键就行了。可见,直观地讲,命令就是用户在命令提示符和回车键之间输入的一串字符。

但是,仅仅给出这种解释,恐怕朋友们不会满意。难道说随便打进去一段字符都能叫做命令?是的。但是,DOS只能识别和执行其中的合法(Correct)命令,对于非法(Bad)命令,它只是冷冰冰地给出一个“Bad command or file name”的提示,便又开始等待输入下一条命令了。

我们一般地讲DOS命令,当然是指DOS的合法命令。命令有哪些种类,又有怎样的格式呢?先来看看DOS本身的组成再说吧!一张可以启动DOS系统的软盘至少有以下的三个文件:IO.SYS 、MSDOS.SYS和COMMAND.COM。前面两个文件是系统文件,它们中包括基本设备的驱动程序,还为用户提供了一批命令。这一批由系统文件提供的命令直接驻留内存,不需要任何外部文件的支持就能执行,因而被称为内部命令(Internal Command)。内部命令具有强大的文件管理功能,可以基本满足用户的一切文件管理需要。凡是由内部命令不能解决的问题,可以通过程序文件、命令文件和批处理文件这三种COMMAND.COM能解释的可执行文件来实行外部支持,这三种文件就称为DOS的外部命令(External Command)。任何一个软件都是通过外部命令的方式得到执行的,而任何一个非外部命令的文件如果得不到一个外部命令的使用,就永远不会有机会进入内存。所以,编写外部命令和其所用数据文件,就是所谓的”软件开发”,以后会专门讨论。

命令都有共同的格式。一般地,一个完整的DOS命令分三个部分:

1. 命令主体(Command Body):当然,这是一个命令的最重要的部分。一个内部命令和一个外部命令文件的文件主名都可以是命令主体。

2. 命令行参数(Command Line Parameter):命令主体后加一个空格符,就可以加写一些参数提供给命令主体。一般地,命令主体指向的程序会根据不同的参数产生不同的执行结果。比如在图2-3-1中的命令中,“A:\*.EXE”就是命令行参数,DIR命令会根据不同的参数得出不同的显示结果。

3. 开关(Switch):一个“/”或“-”号后加一个或一串字符,就形成了一个命令的开关。在命令主体和命令行参数都相同的情况下,开关的不同同样会使命令的执行结果不同,在图2-3-1中的命令中,“/W”就是一个开关。开关一般位于命令行参数之后,开关与命令行参数之间、开关与开关之间无须留有空格。

DOS简洁、明了的命令系统比较符合自然语言习惯,这使得它十分易学易用。在第三、四两章中,我们将熟悉一些常用的DOS命令。因为本专栏的读者朋友们都有一定的DOS基础,所以我会讲一些重点和难点。Windows系统中取消了命令系统,而实行的图标化的操作。但它的本质还是和一条条地执行命令没有什么区别的。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有