他擦掉刚才模拟的文件列表,写下 dIR \/p。
“这个 \/p,就是 page,分页显示的意思。加上它,dIR 命令就会显示满一屏幕后自动暂停,等你按任意键再显示下一屏。这样就不会看得眼花缭乱了!” 他用粉笔画了一个箭头,指向 \/p,旁边写上“分页”。
接着,他又写下 dIR \/w。
“这个 \/w,就是 wide,宽屏显示。有时候我们只想快速浏览一下有哪些文件,不需要看大小和日期,用这个参数,它就会一行显示多个文件名,非常节省空间!” 他又画了个箭头,指向 \/w,旁边写上“宽屏”。
张甯记录下这两个参数,并在旁边标注了它们各自适用的场景:\/p 用于详细查看,\/w 用于快速概览。她开始理解这种“命令+参数”的模式——基础指令提供核心功能,参数则提供灵活的选项和控制。这背后体现的是一种模块化和可扩展的设计思想。简洁,高效,富有逻辑之美。
就在这时,前排一个看起来很努力在听课的男生举起了手,声音带着点不确定:“老师,那……如果我只想看以字母 A 开头的文件怎么办?难道要一个一个找吗?”
老师显然对有学生提问感到高兴,他推了推眼镜,笑道:“问得好!这就需要用到我们今天要讲的另一个重要概念——通配符!”
他在黑板上重重地写下两个符号:* 和 ?。
“大家看这两个符号,星号 * 和问号 ?。它们就像是扑克牌里的‘王牌’,可以代表其他字符!” 老师试图用一个生动的比喻来解释,“星号 *,代表任意多个字符。比如,你想找所有以 A 开头的文件,不管它后面是什么,也不管扩展名是什么,就可以输入 dIR A*.*!”
他一边说一边写下命令 dIR A*.*。
“这个 A*.* 就表示,文件名第一个字母是 A,后面是什么无所谓(由第一个 * 代表),扩展名是什么也无所谓(由第二个 * 代表)。这样,所有 A 开头的文件就都列出来了!”
张甯的眼睛亮了一下。这个 * 通配符,其蕴含的模式匹配能力,瞬间让她联想到了数学中的变量和集合概念。一个简单的符号,就能指代一个不确定的、符合某种规则的群体。这不仅仅是查找文件,这是一种强大的抽象和筛选工具。
“那问号 ? 呢?”老师继续,“问号只代表一个任意字符。比如,你想找文件名是三个字母,前两个是 Ab,最后一个字母不确定,扩展名是 .txt 的文件,就可以用 dIR Ab?.txt。”
他写下 dIR Ab?.txt。
“大家理解了吗?* 是‘大王’,啥都能替;? 是‘小王’,只能替一个。” 老师对自己这个比喻似乎颇为满意。
张甯却觉得这个比喻并不够精确。* 和 ? 的核心区别在于匹配长度的确定性,而非“大小王”的能力强弱。而且,它们组合使用的可能性呢?比如 A??b*.c*?这种组合的可能性和灵活性,远比“大小王”的比喻要丰富和复杂。
她下意识地转动着手中的笔,目光再次投向窗外。天空似乎比刚才更蓝了一些,云朵稀薄。操场上传来几声模糊的呼喊,大概是彦宸他们已经开始打球了吧?
想到彦宸,张甯的嘴角几不可察地牵动了一下。如果让他来理解这些命令和通配符,他会怎么想?他大概不会像自己这样去分析背后的逻辑结构和设计思想,但以他那种跳脱的、擅长抓取事物“特征”的思维,说不定会想出一些奇奇怪怪但或许有效的“土办法”或者“歪理”来记住它们?
这个念头让她觉得有些好笑。她甚至能想象出彦宸听到“大小王”比喻时,可能会一脸认真地反问老师:“那老师,同花顺带俩王能不能一次性找出所有隐藏文件啊?”
就在她心思微动,暂时脱离了对 mS-doS 命令的纯粹逻辑分析时,视线的余光仿佛扫到什么奇怪的东西在紧闭的教室后门那上半部的玻璃上一闪而过,还伴随着一声极其轻微的、几乎被风声掩盖的“咚”声,像是有人不小心用额头撞在了门框上。
张甯的目光倏地锐利起来,如同一道冷电,射向后门。
但那里的玻璃处空空如也,只有发旧的木门和冰冷的墙壁在秋日的光线下静默无声。
是错觉吗?
张甯的眉头蹙起,目光在后门那块玻璃上停留了片刻。以她对光线和环境变化的敏感度,刚才那一闪而过的暗影和微响,不太像是自然现象。况且,那影子的轮廓……
就在她疑窦丛生之际,那个熟悉的、欠揍的脑袋再次从门框下沿猛地探了出来,像个没被打着头但却已坏掉了脑壳的地鼠。这一次