分节阅读 44(1 / 2)
儿:“这样就行了我试试看。”
许毅从共享桌面的那个窗口看到,颜玉调出了dos窗口,然后来到那个文件所在的目录,输入命令“rdir aa”,回车之后,接过显示“系统找不到指定的文件”。
小玉儿:“不行啊,毅哥哥。”
:“呵呵,用这个命令rdir aa\\”
颜玉按照许毅给出的命令运行了一次,果然发现那个文件夹被删除了。这下把她乐坏了。
小玉儿:“毅哥哥,那个文件夹不见了”
:“嗯。”
见许毅并没有多说,她很快就询问起原因来:“这个命令的格式不是后面直接跟文件名吗为什么后面还要多加上一个点和一个反斜杠呢”
hoho,小姑娘有前途,有小黑客的潜质。许毅就是在等她询问。
“呵呵,小玉儿,我跟你说,你刚才无意中发现了一个微软s系统的大bug”许毅为了鼓励小姑娘,特意夸大了一下。当然,从某种意义上来说,这个bug也算是不小了。
许毅正等着小姑娘的欢呼雀跃,结果等来了一句让他有晕阙感的问题:“毅哥哥,什么叫bug呀”
许毅一口气睹在了胸口,原本准备的一番说辞暂时用不上了,只得给她讲解起bug的意思来:“bug在英语中是臭虫或者虫子的意思,用在计算机领域中,就是指一些隐藏在系统或程序中的缺陷或问题。对软件公司来说,这是个不好的东东,会想尽办法将其修复,但这却是黑客们的最爱,因为利用这些bug,他们往往可以做出很多不可思议的事情来。”
说起bug这个词汇的起源,还有一段典故。那是在第一代计算机的时代,那个时候的计算机都是由许多庞大且昂贵的真空管组成,并利用大量的电力来使真空管发光。可能正是由于计算机运行产生的光和热,引得一只小虫子bug钻进了一支真空管内,导致整个计算机无法工作。研究人员费了半天时间,总算发现原因所在,把这只小虫子从真空管中取出后,计算机又恢复正常。后来,bug这个名词就沿用下来,表示电脑系统或程序中隐藏的错误、缺陷或问题。与bug相对应,人们将发现bug并加以纠正的过程叫做“debug”,意即“捉虫子”或“杀虫子”。有人将其翻译为“臭虫”,但程序员们还是喜欢直接用bug这个词。
―――――
s:1945年9月9日,下午三点。哈珀中尉正领着她的小组构造一个称为“马克二型”的计算机。这还不是一个完全的电子计算机,它使用了大量的继电器,一种电子机械装置。第二次世界大战还没有结束。哈珀的小组日以继夜地工作。机房是一间第一次世界大战时建造的老建筑。那是一个炎热的夏天,房间没有空调,所有窗户都敞开散热。
突然,马克二型死机了。技术人员试了很多办法,最后定位到第70号继电器出错。哈珀观察这个出错的继电器,发现一只飞蛾躺在中间,已经被继电器打死。她小心地用摄子将蛾子夹出来,用透明胶布帖到“事件记录本”中,并注明“第一个发现虫子的实例。”
资料收集于网上,版权归原作者所有
本书由“tjian”免费制作
使用键盘左右键翻页,回车键回目录
第二卷 第62章 删不掉的文件夹下
花了一小会儿时间,将这个专业词汇解释清楚,颜玉继续追问了起来:“毅哥哥,你的意思是说这个不能删除的文件夹是一个bug为什么要在dos下面才能删除呀”
许毅顿时没词了,为什么会这样我怎么知道,我又没阅读过微软操作系统的源代码,他无奈地回道:“我也只知道这是个bug具体原因不清楚。”
“你也不知道呀。”小姑娘好像感到很惊讶,可能她没想到还有许毅不知道的计算机问题。她继续问:“对了,你还没告诉我为什么要多加一个点和反斜杠呢。”
这个许毅倒知道:“其实你建立的这个文件夹的名字本来就是多了一个点和反斜杠的。只不过这样看不到而已。”
颜玉自然是不信,许毅只得证明给她看。他要颜玉用命令“kdir a\\”在dos控制台下建立文件,也就是说,按照dos命令的语法规则,建立的文件名为“a\\”。
等了一会儿,颜玉便发来了消息:“毅哥哥,怎么建立的文件名是a,少了一个点和一个反斜杠呢,太奇怪了”
许毅回道:“呵呵,刚才那个文件夹就是这个原因,它实际的文件夹名字和你看到的并不一样。你现在用平常的方式删除这个文件夹试试。”
颜玉闻言,选择了这个文件夹,然后按了删除键,确认,这时,她惊讶地发现刚才碰到的问题又出现了,也就是说刚才自己亲手建立了一个不能删除的文件夹。
这样说,那个文件也是我不小心给建立的了颜玉想到这里,心中一动,按照刚才删除那个文件夹的方法,在dos里面运行了“rdir a\\”命令,发现刚建立的文件夹果然立刻被删除了。
真是这样的颜玉高兴非常。这个困扰了她多时的问题原来是这么回事,害得她还担心了好一阵,以为是遭了黑客呢。
许毅坐在电脑前,疲劳感一阵又一阵地袭来,不过他也被小姑娘引起了兴致,决定趁热打铁,将这个小技巧跟她说清楚,好增长她学技术的兴趣。
于是,许毅便开始详细地给她讲解起这个原因来。虽然他并没有阅读s操作系统的源代码,但是根据自己掌握的知识,他还是可以将其中的原因推测出七八分的。
反斜杠“\\”在s中是路径的分隔符号比如“c:\\s\\”的意思就是c分区中的s文件夹,“c:\\s\\dexe”的意思就是c分区中的s文件夹中的dexe文件。
那么,如果文件名中有“\\”符号会怎么样呢假如“a\\”是一个文件的名字,这个文件位于“d:\”d盘,则它的路径就是“d:\a\”,当我们试图访问这个文件的时候s会错误地认为我们要打开的文件是d分区的a文件夹,这样s就无法打开并且会返回一个错误,因为以上的路径并不存在。
当然现在正在尝试创建“a\”文件,但是s会给出提示:“\\”符号是不能作为文件或者文件夹的名字的。也就是说s还是早已想到这一点了的。不过事实真的是这样吗显然是否定的。
颜玉碰到的这个文件夹就是如此,也就是说,微软的程序员编写操作系统的时候把dos下用kdir命令建立文件的时候忽略了这个问题,仅仅只是注意到了图形化界面中文件的建立。
花了好大一阵精神,许毅终于将这个问题说清楚了,从小姑娘的回复来看,她好像也听懂了其中的原理。她对于自己发现了微软的一个“重要”bug欢呼不已,不过欢呼之后,她终于想起一件重要的事情:“毅哥哥,这个bug就算是存在也没什么关系吧,这个问题毕竟是很少会遇到的,而且看上去并没有什么作用。”