黑客攻防从入门到精通:命令版
上QQ阅读APP看书,第一时间看更新

2.1 Windows系统中的命令行

随着互联网的普及,网络用户的逐渐增多,由此带来的安全问题也威胁着计算机安全,而Windows操作系统本身都自带一些病毒和受残损的文件,常常使用户无法正常工作。熟练掌握命令行的使用方法,能保障计算机系统的安全性能,从而提高工作效率。因此,要想保障系统的稳定安全,就需要先掌握Windows系统中命令行的相关知识。

2.1.1 Windows系统中的命令行概述

Windows操作系统,主要是用图形化界面,但是并不抛弃命令行的界面,但这个命令行界面就完全不是DOS操作系统了。同时Windows应用程序也分图形界面(包括无界面,如服务程序)和命令行界面。

命令行就是在Windows操作系统中打开DOS窗口,以字符串形式执行Windows管理程序。现在大部分用户都使用Windows的可视化界面,如果能够熟练掌握Windows系统中的命令行界面,将会更加占有优势。

命令行程序分为内部命令和外部命令,内部命令是随command.com装入内存的,而外部命令是一条一条单独的可执行文件。

● 内部命令都集中在根目录下的command.com文件中,计算机每次启动时都会将这个文件读入内存,即在计算机运行时,这些内部命令都驻留在内存中,用dir命令是看不到这些内部命令的。

● 外部命令都是以一个个独立的文件存放在磁盘上的,它们都是以com和exe为后缀的文件,并不常驻内存,只有在计算机需要时才会被调入内存。

虽然两种操作都是使用命令来进行的,但由于命令行和纯DOS系统不是使用同一个平台,因此也存在一些区别,具体的表现如下。

1.位置及地位特殊

命令行程序已经不是专门用COMMAND目录存放,而是放在32位系统文件(Windows)安装目录下的SYSTEM32子目录中。由此可知,Windows中的命令行命令已得到非常高的地位,而且通过查看SYSTEM32\DLLCACHE目录可知,Windows还将其列入了受保护的系统文件之列,倘若SYSTEM32目录中的命令行命令受损,用该DLLCACHE目录中的备份即可恢复。

2.一些命令只能通过命令行直接执行

Windows 9X中的系统文件扫描器sfc.exe是一个Windows风格的对话框,而在Windows XP及以后版本的Windows系统中,这条命令却必须在命令行状态下手工输入才能按要求运行,而运行时又是标准的图形界面,图2-1为Windows 7 cmd应用程序窗口。

图2-1 Windows7 cmd应用程序窗口

3.命令行窗口的使用与以前大不相同

在窗口状态下,已经不再像Windows 9X的DOS窗口那样有一条工具栏,因此,不少人发现无法在Windows XP及以后版本的Windows系统命令行窗口中进行复制、粘贴等操作。其实Windows XP及以后版本的Windows系统命令行窗口是支持窗口内容选定、复制、粘贴等操作的,只是有关命令被隐藏了起来。用鼠标对窗口内容直接操作就能够选取,即按下鼠标左键拖动时,其内容会反白显示,如果按“Ctrl+C”组合键,则无法将所选取内容复制到剪贴板,而必须在窗口的标题栏上右击之后,再选择“编辑”选项,于是就可以在弹出的快捷菜单中看到复制、粘贴等选项了。

图2-2 Windows 7 命令行窗口内容复制图

在Windows 7中的记事本或Word中输入“新北京,新奥运”信息之后,复制输入的内容并右击命令行标题栏,在弹出快捷菜单中选择“编辑”→“粘贴”选项,如图2-2所示,即可将其粘贴到命令行窗口中,图2-3为粘贴后的效果。

图2-3 粘贴后的效果

还可以前后浏览每一步操作时屏幕所显示的内容:这在全屏幕状态下是不可行的。必须使用“Alt+Enter”组合键切换到窗口状态,这时窗口右侧会出现一个滚动条,拖动滚动条就可前后任意浏览了。但如操作的显示结果太多,则超过内存缓冲的内容会按照FIFO(First in First out,先进先出)的原则自动丢弃,使用CLS命令后可以同时清除屏幕及缓冲区的内容。

4.添加大量快捷功能键和类DOSKEY功能

在Windows XP及以后版本的Windows操作系统的命令行状态下,通过“mem /c”命令看不到内存自动加载DOSKEY.EXE命令的迹象,如图2-4所示。

图2-4 自动加载DOSKEY命令迹象图

具备类似传统的DOSKEY功能如下:

● PageUp、PageDown:重新调用最近的两条命令。

● Intert:切换命令行编辑的插入与改写状态。

● Home、End:快速移动光标到命令行的开头或结尾。

● Delete:删除光标后面的字符。

● Enter:复制窗口内选定的内容(用之取代Ctrl+C命令)。

● F7:显示历史命令列表,可从列表中方便地选取曾经使用过的命令。

● F9:输入命令号码功能,直接输入历史命令的编号即可使用该命令。

其他F1~F6键都分别定义了不同的功能,具体操作时一试便知。

5.对系统已挂接的码表输入法的直接支持

以前要在Windows 9X的DOS命令提示符下显示和输入汉字,必须单独启动中文输入法,如DOS 95或UCDOS等其他汉字系统,在Windows XP及以后版本的Windows系统的CMD命令行下已可以直接显示汉字,并可按与图形界面完全相同的热键,调用系统中已安装的各种码表输入法,如“Ctrl+Shift”组合键用于切换输入法,“Ctrl+Space”组合键用于切换输入法开关,“Shift+Space”组合键用于切换全角与半角状态,“Ctrl+.”组合键用于切换中英文标点等。不过,该命令行下的输入法只能在命令行进行输入,比如打开了一个Edit编辑器,输入法就不起作用了。

6. CMD的命令参数

CMD的命令格式:CMD[a|u][/q][/d][/e:on|/e:off][/f:on|/f:off][/v:on|/v:off][[/s][/c|/k]string]。

● /c:执行字符串指定的命令然后中断。

● /k:执行字符串指定的命令但保留。

● /s:在/c或/k后修改字符串处理。

● /q:关闭回应。

● /d:从注册表中停用执行ARTORUN命令。

● /e:on:启用命令扩展。

● /e:off:停用命令扩展。

● /f:on:启用文件和目录名称完成字符。

● /f:off:停用文件和目录名称完成字符。

● /v:on:将c作为定界符以启动延缓环境变量扩展。

● /v:off:停用延缓的环境扩展。

注意

如果字符串有引号,则可以接受用命令分隔符“&&”隔开的多个命令。由于兼容原因,/X与/e:on相同,且/r与/c相同,忽略任何其他命令选项。

如果指定了/c或/k参数,命令选项后的其他命令行部分将作为命令行处理。

如果符合下列所有条件,则在命令行上的引号字符将被保留:

● 不带/s命令选项。

● 成对使用引号字符。

● 在两个引号字符之间没有特殊字符,特殊字符为下列任意一个:<>、()、@、^、|。

● 在两个引号字符之间有至少一个空白字符。

● 在两个引号字符之间有至少一个可执行文件的名称。

否则,看第一个字符是否是一个引号字符,如果是,则舍去开头字符并删除命令行上的最后一个引号字符,保留最后一个引号字符之后的文字。如果/d在命令行上未被指定,当CAM开始时,则会寻找REG_SZ/REG_EXPAND_SZ注册表变量,如果命令中一个或两个都存在,则HKEY_LOCAL_MACHINE\Software\Microsoft\Command Procssor\AutoRun变量和HKEY_CURRENT_USER\Software\Microsoft\Command Processor\EnableExtensions变量将会先被执行到0X1或0X0。用户特定设置有优先权,命令行命令选项的优先权比注册表设置的优先权高。

7.命令行扩展包括对命令的更改和添加

使用命令行扩展的命令主要有:DEL或ERASE、COLOR、CD或CHDIR、MD、MKDIR、PROMPT、PUSHD、POPD、SET SETLOCAL、ENDLOCAL、IF、FOR、CALL、SHIFT、GOTO、START、ASSOC、FTYPE等。

延迟变量环境扩展不按默认值启用,可以用/v:on或/v:off参数为某个启用或停用CMD调用的延迟环境变量扩充,也可在计算机上或用户登录会话上,启用或停用CMD所有的调用,这需要通过设置Regedit32.exe注册表中的一个或两个REG_DWORD值(HKEY_LOCAL_MACHINE\Software\Command processor\DelayedExpansion和HKEY_CURRENT_USER\Software\Microsoft\Command processor\DelayedExpansion)到0X0或0X1来实现。用户特定设置的优先权比计算机设置的优先权高,命令行命令选项的优先权比注册表设置的优先权高。

2.1.2 Windows系统中的命令行操作

下面简单介绍一下Windows操作系统中命令行的各种操作,例如复制、粘贴、设置属性等操作。当启动Windows中的命令行后,将会弹出“命令提示符”窗口。Windows命令行跟DOS界面不一样,它会先显示当前操作系统的版本号,并把当前用户默认为当前提示符。而其下所使用的操作跟DOS命令中所作的操作一样,但在使用Windows命令时,可以自定义设置命令行的背景、显示的文字、窗口弹出的大小、窗口弹出的位置等。

右击命令行标题栏,将会弹出一个快捷菜单,在其中选择相应的菜单项,即可完成相应操作,如图2-5所示。

图2-5 命令行各种操作的快捷菜单

2.1.3 启动Windows系统中的命令行

对于不同的Windows操作系统版本,有不同的命令进入命令行界面,下面介绍两种不同启动Windows系统中命令行的方法:

1)在Windows 2000/NT/XP/2003/操作系统的“运行”对话框下,在“打开”文本框中运行“cmd”命令,则可进入命令行窗口,如图2-6所示。

图2-6 XP命令提示符窗口

2)在Windows vista/7操作系统的“搜索”文本框中运行cmd命令,即可进入命令行窗口,如图2-7所示。

图2-7 Windows 7命令提示符窗口

2.2 在Windows系统中执行DOS命令

由于Windows系统彻底脱离了DOS操作系统,所以无法直接进入DOS环境,只能通过第3方软件来进行,如一键GHOST硬盘版等。但Windows系统提供了一个“命令提示符”附件,可以提供基于字符的应用程序运行环境。通过使用类似MS-DOS命令解释程序中的各个字符,命令提示符执行程序并在屏幕上显示输出。Windows命令提示符使用命令解释程序cmd,将用户输入转化为操作系统可理解的形式。

2.2.1 用菜单的形式进入DOS窗口

Windows的图形化界面缩短了人与机器之间的距离,通过鼠标单击拖曳即可实现想要的功能。

Windows是基于OS/2、NT构件的独立操作系统,除可以使用命令进入DOS环境外,还可以使用菜单方式打开“DOS命令提示符”窗口。在Windows 7系统中选择“开始”→“所有程序”→“附件”→“命令提示符”菜单项,即可打开“命令提示符”窗口,如图2-8所示。

图2-8 利用菜单打开DOS窗口

2.2.2 通过IE浏览器访问DOS窗口

用户可以直接在IE浏览器中调用可执行文件。对于不同阶段的操作系统,其通过IE浏览器访问DOS窗口的方法有所不同:

● 在Windows 2000操作系统中访问DOS窗口,只需在IE浏览器地址栏中输入“c:\winnt\ system\cmd.exe”命令。

图2-9 在IE中访问Windows7 DOS窗口

● 在Windows XP/7操作系统中访问DOS窗口,只需在IE浏览器地址栏中输入“c:\Windows\system32\cmd.exe”命令,如图2-9所示,即可打开DOS运行窗口,如图2-10所示。

图2-10 DOS运行窗口

注意

这里一定要输入全路径,否则Windows就无法打开命令提示符窗口。对于一些加密而又无法访问开始菜单的DOS窗口,可以通过不受限制的IE浏览器来轻松地进入。

2.2.3 复制、粘贴命令行

当在Windows 7中启动命令行时,就会弹出相应的命令行窗口,在其中显示当前的操作系统的版本号,并把当前用户默认为当前提示符。在使用命令行时可以对命令行进行复制、粘贴等操作,这是DOS平台不具备的功能。

复制、粘贴命令行的具体操作步骤如下。

步骤1:打开命令提示符窗口,输入一条查询系统网络信息的命令,这里以“ipconfig”为例,输入完成后按“回车”键,如图2-11所示。

图2-11 输入一条查询系统网络信息的命令

步骤2:查看命令执行后的输出结果。如果要复制输出结果中的一部分信息,右击命令提示符窗口标题栏,选择“编辑”→“标记”菜单项,如图2-12所示。

图2-12 选择“编辑”→“标记”菜单项

步骤3:按住鼠标左键不动,拖动鼠标标记想要复制的内容。标记完成以后按键盘上的“回车”键,这样就把内容复制下来了,如图2-13所示。

图2-13 标记想要复制的内容

步骤4:在需要粘贴该命令行的位置右击,在弹出的快捷菜单中选择“粘贴”选项,如图2-14所示。

图2-14 选择“粘贴”选项

步骤5:粘贴成功,查看已粘贴的命令,如图2-15所示。

图2-15 查看已粘贴的命令

2.2.4 设置窗口风格

在快捷菜单(右击命令提示符窗口标题栏打开)中选择“默认值”或“属性”选项,即可对命令行进行自定义设置,设置窗口颜色、字体、布局等属性。

1.颜色

在“属性”面板中的“颜色”选项卡中,可以对命令行屏幕文字、屏幕背景、弹出窗口背景颜色等进行设置。

具体的操作步骤如下。

步骤1:打开命令提示符,右击命令提示符窗口标题栏,选择“属性”菜单项,如图2-16所示。

图2-16 选择“属性”菜单项

步骤2:打开“命令提示符属性”对话框,切换到“颜色”选项卡之后,即可选择各个选项并对其进行颜色设置,如图2-17所示。

图2-17 “命令提示符属性”对话框

步骤3:选择“屏幕文字”单选按钮,单击选定颜色栏中的蓝色并设置颜色值为255,如图2-18所示。

图2-18 选择“屏幕文字”单选按钮

步骤4:选择“屏幕背景”单选按钮,单击选定颜色栏中的绿色并设置颜色值为255,如图2-19所示。

图2-19 选择“屏幕背景”单选按钮

步骤5:选择“弹出文字”单选按钮,单击选定颜色栏中的蓝色并设置颜色值为180,如图2-20所示。

图2-20 选择“弹出文字”单选按钮

步骤6:选择“弹出窗口背景”单选按钮,单击选定颜色栏中的蓝色并设置颜色值为125。设置完毕之后,单击“确定”按钮,如图2-21所示。

图2-21 选择“弹出窗口背景” 单选按钮

步骤7:查看设置后的窗口,窗口颜色焕然一新,如图2-22所示。

图2-22 查看设置后的窗口

2.字体

在“命令提示符属性”对话框的“字体”选项卡中,可以设置字体的样式(这里只提供了点阵字体和新宋体两种字体样式),可以选择一种自己喜欢的字体风格,如图2-23所示。在这里也可以选择窗口的大小,一般的窗口大小为8*16。

图2-23 字体设置

3.布局

在“命令提示符属性”对话框的“布局”选项卡中对窗口整体布局进行设置。具体可以设置窗口的大小、窗口在屏幕中所处的位置,以及屏幕缓冲区大小,如图2-24所示。在设置窗口位置时,如果勾选“由系统定位窗口”复选框,则在启动DOS时,窗口在屏幕中所处的位置由系统来决定。

图2-24 布局设置

4.选项

在“命令提示符属性”对话框的“选项”选项卡中,可以设置光标大小、是窗口显示还是全屏显示等,如图2-25所示。如果在编辑选项栏中勾选“快速编辑模式”复选框,则在窗口中可以随时对命令行进行编辑。

图2-25 选项设置

2.2.5 Windows系统命令行

Windows操作系统中的命令行很多,下面简单介绍最常用的一些功能与其所对应的命令。

● 远程协助:通过Internet接收朋友的帮助(或向其提供帮助)。

命令:X:\Windows\System32\msra.exe

● 计算机管理:查看和配置系统设置和组件。

命令:X:\Windows\System32\compmgmt.msc

● 系统还原:将计算机系统还原到先前状态。

命令:X:\Windows\System32\rstrui.exe

● 系统属性:查看有关计算机的系统设置的基本信息。

命令:X:\Windows\System32\control.exe system

● 系统信息:查看有关硬件设置和软件设置的高级信息。

命令:X:\Windows\System32\msinfo32.exe

● 程序:启动、添加或删除程序和Windows组件。

命令:X:\Windows\System32\appwiz.cpl

● 禁用UAC:禁用用户账户控制(需要重新启动)。

命 令:X:\Windows\System32\cmd.exe/k%windir%\system32\reg.exe ADD HKLM\SOFTWARE\ Microsoft\windows\CurrentVersion\Policies\System/vEnableLUA/t REG_DWORD/d 0 /f

● 注册表编辑器:更改Windows注册表。

命令:X:\Windows\System32\perfmon.exe

● 性能监视器:监视本地或远程计算机的可靠性和性能。

命令:X:\Windows\System32\perfmon.exe

● 安全中心:查看和配置计算机的安全基础。

命令:X:\Windows\System32\wscui.cpl

● 命令提示符:打开命令提示符窗口。

命令:X:\Windows\System32\cmd.exe

● 启用UAC:启用用户账户控制(需要重新启动)。

命令:X:\Windows\System32\cmd.exe/k%windir%\system32\reg.exe ADDHKLM\SOFTW ARE\Microsoft\windows\CurrentVersion policies\System/v EnableLUA/t REG_DORD/d 1/f

● 关于Windows:显示Windows版本信息。

命令:X:\Windows\System32\winver.exe

● 任务管理器:显示有关计算机运行的程序和进程的详细信息。

命令:X:\windows\System32\taskmgr.exe

● 事件查看器:查看监视消息和疑难解答信息。

命令:X:\Windows\System32\eventvwr.exe

● Internet选项:查看Internet explorer设置。

命令:X:\Windows\System32\inetcpl.cpl

● Internet协议配置:查看和配置网络地址设置。

命令:X:\Windows\System32\cmd.exe /k%windir%\system32\ipconfig.exe

2.3 全面认识DOS系统

在使用DOS时,还会经常听到MS-DOS与PC-DOS,对初学者来说,这两者可以认为没有区别。事实上,MS-DOS由Microsoft(微软公司)出品,而PC-DOS则由IBM对MS-DOS略加改动而推出的。由于微软公司在计算机业界的垄断性地位,MS-DOS成为主流操作系统。DOS主要由MSDOS.SYS、IO.SYS和COMMAND.COM等三个基本文件和一些外部命令组成。

2.3.1 DOS系统的功能

DOS实际上是一组控制计算机工作的程序,专门用来管理计算机中的各种软、硬件资源,负责监视和控制计算机的全部工作过程。不仅向用户提供了一整套使用计算机系统的命令和方法,还向用户提供了一套组织和应用磁盘上信息的方法。

DOS的功能主要体现在如下5个方面。

1.执行命令和程序(处理器管理)

DOS能够执行DOS命令和运行可执行的程序。在DOS环境下(即在DOS提示符下),当用户键入合法命令和文件名后,DOS就根据文件的存储地址到内存或外存上查找用户所需的程序,并根据用户的要求使CPU运行之,若未找到所需文件,则出现出错信息,告诉用户服务。在这里,DOS正是扮演了使用者、计算机、应用程序三者之间的“中间人”。

2.内存管理

分配内存空间,保护内存,使任何一个程序所占的内存空间不遭破坏,同硬件相配合,可以设置一个最佳的操作环境。

3. 设备管理

为用户提供使用各种输入/输出设备(如:键盘、磁盘、打印机和显示器等)的操作方法。通过DOS可以方便地实现内存和外存之间的数据传送和存取。

4.文件管理

为用户提供一种简便的存取和管理信息方法。通过DOS管理文件目录,为文件分配磁盘存储空间,建立、复制、删除、读/写和检索各类文件等。

5. 作业管理

作业是指用户提交给计算机系统的一个独立的计算任务,包括源程序、数据和相关命令。作业管理是对用户提交的诸多作业进行管理,包括作业的组织、控制和调度等。

2.3.2 文件与目录

文件是存储于外存储器中具有名字的一组相关信息集合,在DOS下所有的程序和数据均以文件形式存入磁盘。自己编制的存入磁盘的程序是文件,DOS提供的各种外部命令程序也是文件,执行DOS外部命令就是调用此命令文件的过程。

如果想查看计算机中的文件与目录(即Windows系统下的文件夹),只需在“命令提示符”窗口中运行dir命令,如图2-26所示。后面带有<DIR>的是目录(文件夹),没有的是文件。还可以在文件和目录名前面看到文件和目录的创建时间,以及本盘符的使用空间和剩余空间。

图2-26 运行dir命令查看计算机文件与目录

MS-DOS规定文件名由4个部分组成:[<盘符>][<路径>]<文件名>[<..扩展名>]。文件由文件名和文件内容组成。文件名由用户命名或系统指定,用于唯一标识一个文件。

DOS文件名由1~8个字符组成,构成文件名的字符分为如下3类:

● 26个英文字母:a~z或A~Z。

● 10个阿拉伯数字:0~9。

● 一些专用字符:$、#、&、@、! 、%、()、{}、-、-。

注意

在文件名中不能使用“<”“>”“\”“//”“[ 、]”“:”“! ”“+”“=”,以及小于20H的ASCII字符。另外,可根据需要自行命名文件,但不可与DOS命令文件同名。

2.3.3 文件类型与属性

文件类型是根据文件用途和内容分的,分别用不同的扩展名表示。文件扩展名由1~3个ASCII字符组成,文件扩展名有些是系统在一定条件下自动形成的,也有一些是用户自己定义的,它和文件名之间用“.”分隔。

表2-1 常见文件类型以及文件类型扩展名

文件属性是DOS系统下的所有磁盘文件,根据其特点和性质分为系统、隐含、只读和存档等4种不同的属性。

这4种属性的作用如下。

1.系统属性(S)

用于表示文件是系统文件还是非系统文件,具有系统属性的文件,是属于某些专用系统的文件(如DOS的系统文件io.sys和msdos.sys)。其特点是文件本身被隐藏起来,不能用DOS系统命令列出目录清单(DIR不加选择项/a时),也不能被删除、复制和更名。如果可执行文件被设置为具有系统属性,则不能执行。

2.隐含属性(H)

用于阻止文件在列表时显示出来,具有隐含属性的文件,其特点是文件本身被隐藏起来,不能用DOS系统命令列出目录清单(Dir不加选择项/a时),也不能被删除、复制和更名。可执行文件被设置为具有隐含属性后,并不影响其正常执行。使用这种属性可以对文件进行保密。

3.只读属性(R)

用于保护文件不被修改和删除。具有只读属性的文件,其特点是能读入内存,也能被复制,但不能用DOS系统命令修改,也不能被删除。可执行文件被设置为具有只读属性后,并不影响其正常执行。对于一些重要的文件,可设置为具有只读属性,以防止文件被误删或意外地被删除。

4.存档属性(A)

用于表示文件被写入时是否关闭。如果文件具有这种属性,则表明文件写入时被关闭。各种文件生成时,DOS系统均自动将其设置为存档属性。改动了的文件也会被自动设置为存档属性。只有具有存档属性的文件,才可以列目录清单、删除、修改、更名、复制等操作。

为便于管理和使用计算机系统的资源,DOS把计算机的一些常用外部设备也当作文件来处理,这些特殊的文件称为设备文件。设备文件的文件名是DOS为设备命名的专用文件名(又称设备保留名),因此,用户在给磁盘文件起名时,应避免使用与DOS保留设备文件名相同的名字。

当然,在给文件名命名时,一定要注意如下几个方面:

1)设备名不能用作文件名。

2)当使用一个设备时,用户必须保证这个设备实际存在。

表2-2 DOS系统中的保留设备文件名和设置

3) 设备文件名可以出现在DOS命令中,用以代替文件名。

4) 使用的设备文件名后面可加上“:”,其效果与不加冒号的文件名一样,例如A:、B:、C:、CON:等。

2.3.4 目录与磁盘

在DOS系统中,当前目录就是提示符所显示的目录,如提示符是C:\,当前目录即C盘的根目录,这个\(反斜扛)就表示根目录。如果要更改当前目录,则可以用cd命令,如输入cd Windows,则目录为Windows目录,提示符变成了C:\Windows,就表示当前目录变成了C盘的Windows目录,如图2-27所示。

图2-27 更改当前目录

在输入dir命令之后,就可以显示Windows目录中的文件了,这就说明dir命令列出的是当前目录中的内容,如图2-28所示。此外,在输入可执行文件名时,DOS会在当前目录中寻找该文件,如果没有该文件,则会提示错误信息。

图2-28 显示Windows目录的文件

在DOS系统中目录采用树形结构,下面是一个目录结构的示意图,这个C:表示最上面的一层目录,如DOS、Windows、Tools等,而DOS、Windows目录也有子目录,像DOS下的TEMP目录,Windows目录也有子目录,像Windows下的SYSTEM目录,如图2-29所示。

图2-29 Windows下的SYSTEM目录

因此,可以用CD命令来改变当前目录,输入CD Windows,当前目录就变成了Windows,改变当前目录为一个子目录叫作进入该子目录,如果想进入system子目录,只要输入“cd system”命令就可以了,也可以输入cd c:\Windows\system。如果要退出system子目录,则只要键入CD..就可以了。

在DOS中,这两点就表示当前目录的上一层目录,一个点就表示当前目录,这时上一级目录为父目录,再输入CD..,就返回到了C盘的根目录。有时,为了不必多次输入CD..,可以直接输入“CD\”命令,“\”就表示根目录。在子目录中用dir命令列文件列表时,就可以发现“, .”和“..”都算作文件数目,但大小为零。

如果要更换当前目录到硬盘的其他分区,则可以输入盘符,比如:要到D盘,那么就需要输入“D”命令,现在提示符就变成了D:\>,如图2-30所示,再输入dir命令,就可以看到D盘的文件的列表,如图2-31所示。

图2-30 更改到D盘目录

图2-31 D盘中的文件列表

2.3.5 命令分类与命令格式

DOS的命令格式为:[<盘符>][<路径>]<命令名>[/<开关 >][<参数>]。

● 盘符:就是DOS命令所在的盘符,在DOS中一般省略DOS所在的盘符。

● 路径:就是DOS命令所在的具体位置(也就是相对应的目录下),在DOS中一般省略DOS所在的路径。

● 命令名:每一条命令都有一个名字。命令名决定所要执行的功能,也是MS-DOS命令中不可缺少的部分。

● 参数:在MS-DOS命令中通常需要指定操作的具体对象,即需要在命令名中使用一个或多个参数。例如,显示文件内容的命令TYPE就要求有一个文件名。如:TYPE readme.txt中TYPE是命令名,readme.txt是参数。

有些命令则需要多个参数。例如:在用于更改文件名的RENAME(REN)命令中,就必须包括原来的文件名和新文件名,所以需要两个参数。如:C:\>REN old_zk.dos new_zk.dos,这条命令中有两个参数,即old_zk.dos和new_zk.dos。执行该命令后,即可将原来的文件名old_zk.dos改变成新文件名new_zk.dos。

还有一些命令(如DIR)可以使用参数,也可以不使用参数。而像CLS(清除屏幕)这样的命令则不需要使用任何参数。

● 开关:通常是一个字母或数字,用来进一步指定一条命令实施操作的方式。开关之前要使用一个斜杠“/”。例如,在DIR命令中可使用“/P”开头的命令来分屏显示文件列表。

内部命令与外部命令在调用格式上没有区别,不同之处在于:前者的<命令名>是系统规定的保留字,而后者的<命令名>是省略了扩展名的命令文件名。一些常用的指令都归属为内部命令,较少用的指令则大都属于外部命令。DOS之所以要把指令分成外部与内部指令,主要是为了节省内存。若将一些不常用的指令也都常驻在内存中,则会降低内存的使用效率。

内部命令隐藏在DOS的io.sys和msdos.sys两个文件中,当以DOS方式启动计算机时,这两个文件就加载并常驻内存中,使得内部指令随时可用。如:DIR、CD、MD、COPY、REN、TYPE等,都属于内部命令。

外部命令则以档案的方式存放在磁盘上,调用时才从磁盘上将该文件加载至内存中。换而言之,外部命令不是随时可用,而是要看该文件是否存在于磁盘中。如:FORMAT、UNFORMAT、SYS、DELETREE、UNDETREE、MOVE、XCOPY、DISKCOPY等,都 属于外部命令。

当使用者输入一个DOS命令之后,该指令先交由command.com分析,所以command.com被称之为命令处理器,其功能就是判断使用者所输入的指令是内部命令还是外部命令。倘若是内部指令,随即交给io.sys或msdos.sys处理;若是外部指令,则到磁盘上找寻该档案,即执行该指令。如果找不到,屏幕上将会出现“Bad Command or filename”这样的错误信息。