命令分类
大多数系统,命令都有内外之分。内部命令运行在内存中,其集成在系统里面,当系统启动后,就可以使用,不需要下载相关程序包。外部命令则保存在磁盘中,相当于一个个的可执行文件,使用命令其实就是在执行相应的命令文件。
内部命令也叫做核心命令,一部分原因是存储于系统中,开机就会加载到内存,另一个原因是因为大多数内部命令对于系统的操作都非常重要,例如:linux中的cd命令,若内部命令丢失,连最基本的操作都做不到。
外部命令,顾名思义,是在系统外部的命令,并不会随着系统的启动而加载,而是在使用的时候才会被执行,通常为一个个的可执行文件。使用命令就等于间接执行命令程序。外部命令的可扩展性很强,没有相关命令,只需要下载一个程序包,安装即可使用。
命令行下的内外部
在windows中,对于切换目录,查看目录的命令也属于内部命令,直接输入即可执行。
C:\Users\Administrator>F: #切换盘符
F:\>dir #查看目录
驱动器 F 中的卷是 其他
卷的序列号是 F815-DD0B
F:\ 的目录
2019/08/05 11:23 <DIR> ACC
2019/08/03 09:08 <DIR> CloudMusic
2019/03/05 11:26 <DIR> Config
2019/12/05 21:31 <DIR> galgame
2018/12/22 09:22 <DIR> kinggsoft
2019/01/21 13:00 <DIR> Minecraft1.12.2_jdzh
2018/12/22 09:22 <DIR> MyDrivers
2019/02/27 16:51 <DIR> play game
2020/03/03 20:25 <DIR> S1+S2
2020/04/04 19:27 <DIR> 图片
2020/01/31 13:26 <DIR> 学习文档
2020/03/31 10:30 <DIR> 录音
0 个文件 0 字节
12 个目录 56,626,339,840 可用字节
我们通常使用ping命令来检查网络连通性,这个ping就是一个外部命令。
C:\Users\Administrator>ping www.baidu.com
正在 Ping www.a.shifen.com [39.156.66.14] 具有 32 字节的数据:
来自 39.156.66.14 的回复: 字节=32 时间=19ms TTL=53
来自 39.156.66.14 的回复: 字节=32 时间=19ms TTL=53
来自 39.156.66.14 的回复: 字节=32 时间=19ms TTL=53
来自 39.156.66.14 的回复: 字节=32 时间=20ms TTL=53
39.156.66.14 的 Ping 统计信息:
数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),
往返行程的估计时间(以毫秒为单位):
最短 = 19ms,最长 = 20ms,平均 = 19ms
一般外部命令都保存在C:\Windows\System32目录下,ping命令的执行文件就叫做PING.EXE
在windows中,对命令的大小写限制并不严格,执行文件为大写,可使用小写也可执行,换成大写也是一样。
C:\Users\Administrator>PING www.baidu.com
正在 Ping www.a.shifen.com [39.156.66.14] 具有 32 字节的数据:
来自 39.156.66.14 的回复: 字节=32 时间=20ms TTL=53
来自 39.156.66.14 的回复: 字节=32 时间=20ms TTL=53
来自 39.156.66.14 的回复: 字节=32 时间=19ms TTL=53
来自 39.156.66.14 的回复: 字节=32 时间=19ms TTL=53
若是对执行文件进行修改,调用时应用修改后的名字,就比如说把ping改为ping2,那调用的时候需要输入ping2。
环境变量
为什么外部命令可以直接调用呢?windows在环境变量中已经提前写好了对应的命令路径。其实和linux环境变量一样,相当于是命令搜寻地址,使用命令其实就是在填写的命令搜寻地址中寻找命令名对应的可执行文件。
win10中直接在搜索栏中输入环境变量即可打开。
选择环境变量打开
上面的是用户变量,下面系统变量就是系统环境变量了。
点击其中的path
其中填写的就是命令搜索路径,将其中项去掉将会造成命令无法找到,若非必要,不建议改动。