刘景云
在Windows中,虽然视窗界面操作起来十分方便,但是在CMD窗口中可以更加快捷的执行各种命令。因此,命令行窗口具有不可替代的独特作用,甚至一些特定的操作在视窗环境中是无法进行的,只能在CMD窗口中进行操作。系统自带的CMD窗口看起来很简单,不过,要想活学活用也不是容易的事情。这里就简单介绍相关的操作技巧,帮助您用好CMD窗口。
一、让CMD复制粘贴更快捷
在几乎所有的编辑软件中,都可以使用左键拖动选择需要复制的内容。但是,在CMD窗口中却无法使用该功能。您必须在CMD窗口中的任意处点击右键,在弹出菜单中选择“编辑”一“标记”命令,才可以拖动鼠标选择内容。当然,也可以在进入标记状态后,使用类似Word的编辑方法,点击“Ctrl+方向键”来移动光标,点击“Shift+方向键”来选择内容。然后点击回车键,或者在标题栏右键菜单中点击“复制”项,才可以复制所需的内容。当粘贴时,也需要在CMD窗口右键菜单中点击“粘贴”键方可。这样的操作,实在显得有些繁琐。
其实,我们完全可以使用更快捷的方法,完成复制粘贴操作。造成上述问题的原因是CMD窗口默认处于非快速编辑模式。在CMD窗口标题栏的右键菜单中点击“属性”项,在弹出窗口的“选项”面板(如图1)中勾选“快速编辑模式”项,点击确定按钮后,在弹出对话框中选择“保存属性,供以后具有相同标题的窗口使用”项,这样以后可以直接进入快速编辑模式。之后在CMD窗口中可以直接拖动鼠标,来选择需要复制的内容。之后在CMD窗口任意位置点击一次鼠标右键,将复制的内容保存到剪切板中。再次点击右键,可以粘贴复制的内容。这种一拖两点的方式,可以明显提高操作效率。
二、用好CMD窗口自动完成功能
使用过VC,VB,ASP.Net,Delphi等开发工具的用户,都会对其提供的自动完成功能爱不释手。在编辑程序时,只需输入部分内容或者点击快捷键,在集成开发界面内就会自动显示一些关键字供您选择。如果您的英文不好或者对具体对象的属性方法不太熟悉的话,可以有效提升编程的效率。其实,在CMD窗口中也提供了类似的自动完成功能。例如,在CMD窗口中点击TAB键盘,系统会按照名称排列顺序,自上而下依次列举当前路径下所有的文件或者文件夹名称。如果在按下Shift键同时按下TAB键,则会按照自下而上的顺序列举文件名。当然,如果您只记得某个文件名的前面几个字符,可以先进行输入然后点击TAB键,系统会自动过滤当前路径下的所有文件名,只列举以已经输入的字符串开头的文件名。注意,该功能不支持“*”和“?”通配符。
例如,当您处于C盘根目录下,想进入Windows文件夹的话,可以输入“cd”后连续点击TAB键,当找到Windows文件夹后,直接回车就可以进入系统路径。当然,遇到具体情况,还需要灵活对待。例如,在D盘下有“tmp”“tmpfile”“turboc”“temp”等文件夹,而您想进入“tmpfile”文件夹,则可以先输入“cd.t”,之后连续点击TAB键,让系统只循环显示这几个文件夹名称,这样可以提高过滤效率。自动完成功能在CMD窗口中是默认开启的,如果您想关闭功能,可以在标题栏右键菜单中点击“默认值”项,在弹出窗口的“选项”面板中取消“自动完成”项的选择状态即可。
三、快速输入路径信息
在CMD窗口中输入路径名,是一件不太轻松的事情。因为Windows使用的是长路径名,遇到路径较深的路径,输入起来实在繁琐。例如对于“C:\Users\Administrator\AppData\LocaI\Microsoft\Office”之类的路径来说,逐字输入很累人。其实,您可以直接从资源管理器中的地址栏中选择目标文件夹图标,将其拖动到CMD窗口中,可以迅速完成路径输入操作。也可以直接将某个文件夹或者文件拖动到CMD窗口中,同样可以完成输入操作。
此外,还可以利用“*”和“?”通配符,来完成路径信息自动输入动作。例如,在C盘根目录下,直接输入“cd w*”,可以直接进入“C:\windows”文件夹。当然,用通配符构成的字符串如果在当前路径下对应的文件或者文件夹不唯一的话,系统会使用当前路径下第一个匹配的。例如“cd windo?”,则只代表以“windo”开头的长度为6的任意字符串。如果是类似于上面提到的名称很长的路径,则可以执行“cd\d*\a*\a*\m*\o*\d*”命令,来直接进入“C:\Documents and Settings\All Users\Application Data\Microsoft\OFFICE\DATA”文件夹。不过,这种方法具有一定的局限性,只有配合“cd”命令才有效。
四、利用账户属性调整CMD默iA路径
不管是执行“cmd.exe”程序,还是点击“开始一程序一附件一命令提示符”时,打开的都是默认的路径。如何才能改变这种情况呢?在“开始→运行”中执行“compmgmt.msc”程序,在计算机管理窗口的左侧点击“系统工具一本地用户和组一用户”项,在右侧窗口中的选定账户的右键菜单上点击“属性”,在其属性窗口的“配置文件”面板(如图2)中的“本地路径”中输入您指定的文件夹即可。这样,重新启动计算机后,当打开“命令提示符”时,就会自动进入预设的路径中了。
五、完美控制CMD窗口的使用权限
在默认情况下,任何用户都可以自由的打开CMD窗口,但是,在CMD窗口中执行各种命令时,有些危险的程序或者命令可能会对系统造成潜在的危害。如何能够控制CMD窗口的使用权限,例如为其添加启动密码,这样当打开CMD窗口时,就必须输入预设的密码,否则无法执行任何命令。这就大大提高了CMD窗口的安全性。网上提供的某些锁定程序实际上存在很大的漏洞,几乎不堪一击。其实,我们完全可以自己动手,设计一款密不透风的密码认证检测程序,打开记事本,输入以下内容:
@Echo off
Setlocal Enabledelayedexpansion
:Test
Echo.
Set/p Pass=Enter Password:
For%%i in(~&^|^")Do(
Set Pass=!Pass:%%i=?!)
If"!Pass!"Equ"opencmd"(
Echo Password True
Echo密码正确欢迎使用命令行
Pause>nul
Cmd/k prompt My Commander Line^^^>
)Else(
Echo Password False
Pause>nul)
Cls&Goto; Test
将其保存为“lock.bat”的文件,其原理很简单,就是判断输入的密码是否为“opencmd”,如果是就打开CMD窗口,否则弹出错误提示,当然,您可以根据需要更改密码。在注册表编辑器中展开路径“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor”,在右侧窗口中双击“AutoRun”键值名,将其数值修改为“f:\lock.bat”(如图3),假设该文件保存在F盘根路径下,您可以根据需要进行修改。如果不存在“Autorun”键值的话,可以在其右键菜单中点击“新建一字符串值”项,手工建立该键值名。当打开CMD窗口时,就会自动启动密码验证程序了。该程序的最大特点是可以抵御任意的密码猜测行为,没有正确的密码就别想使用CMD窗口。
六、为CMD设置追踪器
当黑客通过某些漏洞对系统远程溢出后,就会利用获得的远程CMD Shell接口执行各种危险的命令,例如添加账户、上传文件、激活木马等。如果能够将黑客执行的所有命令记录下来,就可以了解其对系统进行了哪些入侵行为,进而将其入侵影响消除,例如删除木马、清除非法账户等。还可以顺藤摸瓜了解系统存在哪些安全隐患,将其及时堵上。使用CMD命令记录器,就可以轻松实现上述功能,下载地址:http://www.greenxf.com/soft/4835.html。
点击“Win+R”键,执行“cmd.exe.”程序,在其中执行“ren c:\windows\system32\cmd.exe cm_.exe”命令,将原来的“cmd.exe”文件更名为“cm_.exe”。如果系统出现文件保护界面,需要点击“取消”按钮,让更名得以顺利进行。也可以在安全模式、WinPE等环境中进行更名操作。将下载的“CmdPlus.rar”压缩包解压到“c:\windows\svstem32”目录中。将其中的“cmdplus.exe”更名为“cmd.exe”,替换原来的“cmd.exe”程序。之后,如果黑客对本机远程溢出得手,执行的所有命令全部经由“cmdplus.exe”程序,通过匿名管道传送给“cm_.exe”程序去执行,并将其完整记录下来。打开“c:\windows\system32”目录下的“history.txt”文件,可以看到CMD记录信息的所有内容。当然,您自己使用的话,可以直接执行“cm_.exe”程序,来操作各种命令。
七、在CMD中巧用Copy命令
在CMD窗口中,可以执行各种命令。常用的命令其实并不多,其中,Copy命令无疑是最常用的。除了常规的文件复制功能外,Copy命令还有其它独特的使用技巧。我们知道,利用Copy命令的“lb”参数可以将多个文件(例如文本文件、MPEG文件)合并成单个文件,例如执行“copy/b videol.mpg vide02.mpg video. mpg”命令,可以将两个视频文件合并成一个独立的文件。利用Copy的这种特性,可以巧妙地实现文件的加密操作。我们知道,很多加密工具可以将机密文件隐藏在图片文件、MP3文件等宿主文件中,这样可以有力的保卫重要数据的安全,其实利用Copy命令即可实现这种功能。
为了便于管理多个机密文件,可以先使用WinRAR将其压缩为独立的文件(例如“hotfile.rar”),之后找到任意一个MP3音乐文件(例如“hyz01.mp3”),将两个文件放置到同一路径下,在CMD窗口中执行命令“copy/b d:\hyz01.mp33”+d:\hotfile.rar d:\goodhyz.mp3”,这样就将上述两个文件合并为一个新的“goodhyz.mp3”文件,利用各种播放器都能正常播放该MP3文件,谁能想到优美的音乐中隐藏着机密信息呢?
当自己使用隐藏在其中的机密文件时,利用WinRAR修复功能可以轻松从合并后的文件中提取原始压缩包,将“goodhyz.mp3”文件改名为后缀为RAR的文件(例如“goodhyz.rar”),之后在WinRAR主窗口中选中该“goodhyz.rar”文件,点击工具栏上的“修复”按钮,在弹出的修复窗口中输入目标文件保存路径,之后点击“是”按钮,不必理会WInRAR的出错提示,最后在目标路径就可以得到“rebuilt.goodhyz.rar”文件了,该文件实际上就是前面提到的包含机密文件的“hotfile.rar”压缩包,之后就可以对其解压得到机密文件了。
有时,您可能需要对文件的日期进行修改,这往往需要使用到专用的文件属性更改工具。其实,利用Copy命令即可将文件的日期更改为当前的日期,其格式为“copy
八、利用NTFS权限,拒绝非法操作CMD命令
为了防止别人在CMD窗口中执行各种危险的命令,可以利用系统的NTFS分区的访问控制表(AccessControl Lists,即ACLS),对CMD的访问权限进行严格控制。打开“%windir%\system32”文件夹,在其中的“cmd.exe”文件的右键菜单中点击“属性”项,在弹出窗口中的“安全”面板中点击“高级”按钮,在弹出窗口中点击“更改权限”按钮,取消“包括可从该对象的父项继承的权限”项,在弹出窗口中点击“删除”按钮,将所有的账户全部清除(如图4),保存设置信息。之后,“cmd.exe”程序就处于禁用状态,不管任何用户试图调用该程序,系统都会弹出“无法访问指定设备、路径或文件,您可能没有合适的权限访问这个项目”的提示,使其无法操作该程序。
按照同样的方法,对系统路径中的“command.com”程序进行同样的配置,让黑客彻底无法操作命令行界面。当然,为了自己实际需要,也可以创建专用的账户,将其单独添加到“cmd.exe”文件安全面板中的“组或用户”列表中,便于您使用命令行窗口。为了防止SYSTEM账户访问“cmd.exe”程序,可以在注册表编辑器中打开“HKEY_CURRENT_USER\Software\Policies\Microsoft\Windows\System”分支,如果没有对应的子键则需要手工建立。在窗口右侧新建名称为DisableCMD、类型为DWORD的项目,将其值设置为“l”,可以禁止命令解释器和批处理文件的运行。经过以上设置,即使黑客对系统进行远程溢出攻击,但是在调用CMD Shell接口时会遭到系统拦截,使其无法获得有效的控制权。