Cmd基础简介

Cmd是commend的缩写中文意思是命令提示符,是win系统中的shell。Cmd的命令一般的网络工作者,电脑维修者必须掌握的技能,更是黑客的基础知识。

如何打开cmd

M1:使用运行打开按下win+r键打开运行,输入cmd(如图所示)

M2:进入我的电脑目录C:\Windows\System32\cmd.exe
可以找到cmd运行程序,在需要管理员身份打开的时候需要使用这种方法

Cmd的作用

电脑系统最初都是无图像的命令行模式,最初是DOS命令行,随着发展图形操作系统出现,DOS逐渐被淘汰,所以cmd被整合到系统中,cmd所能做的事和DOS是非常相似的,并且许多图形界面无法完成的操作在命令行中都能轻松完成,掌握cmd命令是电脑初学者的必经之路。
常用程序型命令
在百度上可以搜到许多实用的命令,有很多不能使用可能是因为更新的原因去掉了一些命令。

  1. calc-----------启动计算器
  2. certmgr.msc----证书管理实用程序
  3. charmap--------启动字符映射表
  4. chkdsk.exe-----Chkdsk磁盘检查
  5. ciadv.msc------索引服务程序
  6. cleanmgr-------垃圾整理
  7. cliconfg-------SQL SERVER 客户端网络实用程序
  8. Clipbrd--------剪贴板查看器
  9. cmd.exe--------CMD命令提示符
  10. compmgmt.msc—计算机管理
  11. conf-----------启动netmeeting
  12. dcomcnfg-------打开系统组件服务
  13. ddeshare-------打开DDE共享设置
  14. devmgmt.msc— 设备管理器
  15. dfrg.msc-------磁盘碎片整理程序
  16. diskmgmt.msc—磁盘管理实用程序
  17. drwtsn32------ 系统医生
  18. dvdplay--------DVD播放器
  19. dxdiag---------检查DirectX信息
  20. explorer-------打开资源管理器
  21. eudcedit-------造字程序
  22. eventvwr-------事件查看器
  23. fsmgmt.msc-----共享文件夹管理器
  24. gpedit.msc-----组策略
  25. iexpress-------木马捆绑工具,系统自带
  26. logoff---------注销命令
  27. lusrmgr.msc----本机用户和组
  28. notepad--------打开记事本
  29. magnify--------放大镜实用程序
  30. mem.exe--------显示内存使用情况
  31. mmc------------打开控制台49.
  32. mobsync--------同步命令
    33.mplayer2-------简易widnows media player
  33. Msconfig.exe—系统配置实用程序
  34. mspaint--------画图板
  35. mstsc----------远程桌面连接
  36. narrator-------屏幕“讲述人”
  37. net start messenger----开始信使服务
  38. netstat -an----(TC)命令检查接口
  39. net stop messenger-----停止信使服务
  40. Nslookup-------IP地址侦测器 ,是一个监测网络中 DNS 服务器是否能正确实现域名解析的命令行工具.
    它在Windows NT/2000/XP中均可使用,但在 Windows 98 中却没有集成这一个工具。
  41. ntbackup-------系统备份和还原
  42. ntmsmgr.msc----移动存储管理器
  43. ntmsoprq.msc—移动存储管理员操作请求
  44. odbcad32-------ODBC数据源管理器
  45. oobe/msoobe /a----检查XP是否激活
  46. osk------------打开屏幕键盘
  47. packager-------对象包装程序
  48. perfmon.msc----计算机性能监测程序
  49. progman--------程序管理器
  50. regedit.exe----注册表
  51. regedt32-------注册表编辑器
  52. regsvr32 /u *.dll----停止dll文件运行
  53. regsvr32 /u zipfldr.dll------取消ZIP支持
  54. rononce -p----15秒关机
  55. rsop.msc-------组策略结果集
  56. secpol.msc-----本地安全策略
  57. services.msc—本地服务设置
  58. sfc.exe--------系统文件检查器
  59. sfc /scannow-----扫描错误并复原
  60. sfc /scannow—windows文件保护
  61. shrpubw--------创建共享文件夹
  62. shutdown-------60秒倒计时关机命令
  63. sigverif-------文件签名验证程序
  64. sndrec32-------录音机
  65. Sndvol32-------音量控制程序
  66. syncapp--------创建一个公文包
  67. sysedit--------系统配置编辑器
  68. syskey---------系统加密,一旦加密就不能解开,保护windows xp系统的双重密码
  69. taskmgr--------任务管理器
  70. tourstart------xp简介(安装完成后出现的漫游xp程序)
  71. utilman--------辅助工具管理器
  72. wiaacmgr-------扫描仪和照相机向导
  73. winchat--------XP自带局域网聊天
  74. winmsd---------系统信息
  75. winver---------检查Windows版本
  76. write----------写字板
  77. wmimgmt.msc----打开windows管理体系结构(WMI)
  78. wscript--------windows脚本宿主设置
  79. wupdmgr--------windows更新程序

以上的命令在cmd中只是冰山一角,但很多命令完全不需要去记,在学习中有一些实用的命令会自然而然的记住。

环境和变量

YVX6pV.md.jpg

Windows中的环境变量理解起来还是比较抽象的,大多数变量都是对应一个路径,系统所起的一些作用就和这些有关可以使用set来查看所有的系统默认变量

YVXg6U.jpg

这些变量有一定的修改规则系统默认变量最好不要更改。

变量设置规则

如果需要设置一个自己的变量我们同样可以使用set语法如下图

YVXclT.jpg

可以看到设置一个变量a在环境变量中出现了a当然他并不会列入系统变量因为关闭cmd后a会被自动删除。

使用setx来更改系统中的默认变量

运算

Cmd中可以对变量名进行赋值和数学运算,因为这涉及到bat运行脚本。

使用set /p表示对变量名进行赋值,please input:表示提示用户的信息YVXsf0.jpg

这条命令主要用于用户和计算机的交互,使用/a参数可以进行变量运算。交互式的shell并不能体现这两个命令的作用,如果编写成bat脚本可拓展性是无穷的。

文件操作

Windows电脑的日常使用中我们对文件的操作都是使用鼠标,学完命令操作后你将会都文件操作有一个全新的认识

Dir

Dir命令是列出文件或目录的命令,这个命令有一些参数详细内容如下图:

YZmbgU.jpg

当然这些东西不需要去刻意记,只要记住dir这个主命令,如果有什么需求可以使用dir /?查看详细使用方法。下面展示使用的效果:

YZmH3T.jpg

列出C:\Users\Administrator目录下的所有文件,图中的第一个是表示日期和时间,DIR表示文件夹,当我们看见文件夹时就代表可以进入这个文件夹,那么方法是什么呢?请学习下一个命令。

Cd

Cd命令是切换目录的一个命令,查看详细信息和dir同理,这里只简单介绍

YZmo40.jpg

进入Desktop文件夹,使用tab键可以补全命令或文件名,cd…返回上级目录,讲到这里我们发现这些都是在C盘操作的,那么怎么换盘符呢?

盘符切换只需要这样如下图:

YZmINq.jpg

盘符加一个冒号。

创建文件夹

注意这里讲的是创建文件夹而不是文件,命令很简单一组图片演示一下:

YZm7CV.jpg

D盘下只有这些东西,使用mkdir(或者md)创建一个

YZneUI.jpg

可以看出多了一个文件夹,在我的电脑中同样会出现

YZnEbd.jpg

删除文件夹

同样图片演示,rmdir 文件夹名,或者rd 文件夹名

YZnZVA.jpg

YZnkKe.jpg

移动文件或文件夹

YZnADH.jpg

Move 原路径 目标路径 这样就将1这个文件夹移动到了PHP项目这个文件夹

拷贝

Copy 原路径 目标路径

YZn8bj.jpg

创建文件

使用命令行来创建文件有两种情况,一种是创建无内容的文件,另一种是创建有内容的文件,创建空文件比较少用有几种方法这里提一种:copy nul 1.txt 这句的意思是拷贝一个空文件,nul是一个特殊的文件表示空文件。

创建一个有内容的文件夹如图所示

YZn3rQ.jpg

创建了一个内容包含dir /s的可执行bat文件这里涉及的知识点(>符号和bat文件)在以后的章节会讲到

删除文件

Del 文件名 加上参数/Q表示安静删除不提示 /F强制删除只读文件(无法删除文件夹)

YZn1Kg.jpg

查看文件内容

直接查看文件内容可以使用type 文件名,直接查看

YZnQxS.jpg

还有一种排序的查看方式如图所示

YZnM28.jpg

可以发现第一种按正序排列,第二种按倒序排列他们仅仅只相差了一个/r 参数。

特殊字符

在cmd中有许多特殊的符号有着特殊的作用,之前提到过>符号,这篇文章将详细讲解cmd中常用的特殊的字符。

&符号

这个符号在平时被叫做逻辑与,但是在cmd中用法有点不一样他是用来分割命令的,当我们需要使用多个命令时,例:命令1&命令2,不管命令1是否正确命令2都会在他后面继续执行。验证如下图:

YMqVbT.jpg

上述命令中的ls是linux中的命令cmd中是错误的,可以看出命令依然会按照顺序执行。

&&符号

&&符号和&符号是相反的作用,只要前一个命令有问题后面一个就停止执行,但是他并不会影响第三个命令,例:命令1 && 命令2 & 命令3,第一个命令错误则第二个就不会执行而第三个照常执行。

YMqAK0.jpg

||符号

||符号只要前一个命令有正确后面一个就停止执行,例:命令1 || 命令2,命令一正确则命令二停止,命令一错误则命令二继续。

YMqi2n.jpg

|管道符

|符号和前面的几种没有什么关系,他的名字叫管道符,管道符的作用就是将上一个命令的执行结果用于下一个命令。

YMqP8s.jpg

在dir的结果中找到所有含/11/11的行,顺便讲一下find命令:find “字符串” 文件路径,查找指定文件中含有字符串的行。

()符号

把几个命令括起来组成一个整体,可以使代码更加规整。

通配符

通配符可以代替一个或多个不确定的字符,有*和?两个通配符,*代表多个字符?代表单个字符,经常结合for命令使用,之前讲过删除文件的用法,我就使用这个进行举例加强对通配符的理解。

YMqFvq.jpg

在F盘中我们可以看到许多以1开头的文件,下面就是用一个del命令删除所有以1开头的文件。

YMqWGj.jpg

全部被其清理。如果使用del 1?.txt则123不能清除。

重定向

重定向有两种形式>和>>,第一种是覆盖类型的,第二种是追加类型的,使用图片演示一下:

YMqRiQ.jpg

讲一句话定向到文件中,但是他是覆盖类型的,当定向下一句话后前一句就被覆盖掉了。

YMqgIg.jpg

如图可以看出结果,上一句确实不见了。如果使用>>则会保留前面的内容。

YMqcdS.jpg

这些就是重定向的所有解释了。

<符号

这个符号不是很常用,简单介绍一下,他可以将后面命令产生的内容交给前面去处理,,感觉有点像管道符,有点多此一举的感觉。

到这里我所知的cmd中的特殊符号基本讲完了,还有一个数字2代表错误信息,基本用不到,还有些符号只能到后面才能够体现作用,首次接触这些东西可能有些懵逼,但是到后面熟练了自然就能够运用自如。

If条件

条件语句用专用的词汇来讲叫做分支,因为程序到这里有两条路走,根据条件来判断该走哪条路。

YMLdTU.jpg

文件条件判断

这种判断类型可以判断是否有文件存在,基本语法为:

if exist 文件名 (执行体) else (执行体)

if not exist 文件名 (执行体) else (执行体)

在这里涉及到bat编程,因为判断语句主要是写在程序里的,为了方便演示可以在命令行里展示一下用法:

YML0kF.jpg

代码的大概意思是查看F盘下有没有叫虚无世界的要是有就输出yes否则输出no,可以看到结果是yes而目录中也有这个文件夹。

If not exist用法是如果文件不存在则执行下面命令:

YMLBY4.jpg

用法不局限,结合其他命令有无穷的操作方式。

字符串&数学判断

YMLawT.jpg

数学判断有一定的参数表示

EQU - 等于

NEQ - 不等于

LSS - 小于

LEQ - 小于或等于

GTR - 大于

GEQ - 大于或等于

YMLDfJ.jpg

错误级别判断

在bat中有一个特殊的判断形式,即错误级别判断,他的作用是用来判断语句是否执行错误,返回特定的值来判断

如果errorlevel的等级为1则上一句执行错误,为0则执行正确

ping 31.112.XX.XX
IF ERRORLEVEL 1 (echo 1)
IF ERRORLEVEL 0 (echo 0)

以上代码需要在bat文件中使用,在执行ping命令后会得到一个ERRORLEVEL的返回值命令执行错误(没有ping通)则返回1