探索Windows命令行系列(5):几个实用的命令例解

admin
1041
文章
3
评论
2020年1月22日11:11:40 评论 57 3782字阅读12分36秒

1、关机命令(shutdown)

shutdown 命令用来关闭或重新启动本地或远程计算机。

在 10 秒的延迟后,关闭计算机:

shutdown /s /t 10

在 10 秒的延迟后,关闭并重新启动计算机:

shutdown /r /t 10

在 10 秒的延迟后,关闭并重新启动计算机,在系统重新启动后,重新启动所有注册的应用程序:

shutdown /g /t 10

中止系统关闭(只能在超时期间使用):

shutdown /a

注销当前用户:

shutdown /l

注销当前用户的另一种方法:

logoff.exe

休眠本地计算机:

shutdown /h

注意:更多详情请参考:Shutdown。执行关机时 /t 参数可以不写,在 Windows 7 中默认为 30 秒。在执行休眠命令的时候可能会报“此系统上没有启用休眠。要使用 -h 选项,您必须启用休眠。”。要启用休眠,只需要以管理员的身份运行 cmd.exe 然后执行powercfg -hibernate on即可。禁用休眠的命令是powercfg -hibernate off

2、管理 Windows 服务(sc)

sc 命令用于与服务控制器进行通信和安装服务。

安装一个名为 test 的服务(binPath 表示可执行程序的路径):

sc create test binPath="D:\test.bat"

查询本机所有已配置的服务信息(不写 state 参数时只查询已启动的服务信息):

sc query type= service state= all

查询指定服务(test)的配置信息:

sc query test

查询指定服务(test)的详细配置信息:

sc qc test

配置 test 服务的启动方式(auto 表示在系统启动时自动启动,demand 表示在系统启动后手动启动,disabled 表示禁止服务,delayed-auto 表示自动延迟启动):

sc config test start= demand

配置 test 服务的登录方式为本地账户登录(对于Windows服务,可以将其配置为以系统帐号登录,也可以将其配置为以特定用户帐号登录):

sc config test obj= localsystem

配置服务的恢复方式(如果24小时的时间间隔内没有发生服务失败,则重置失败计数器;在第一次、第二次服务失败时,在1秒的延迟后重新启动服务,第三次失败时,在30秒的延迟后重新启动计算机)

sc failure test reset= 86400 actions= restart/1000/restart/1000/reboot/30000

配置服务的恢复方式(如果1小时内没发生失败则重启失败计数器,服务失败后无操作):

sc failure test reset= 3600 actions= null

配置服务的恢复方式(如果1小时内没发生失败则重启失败计数器,服务失败后延迟1秒就重启服务,且失败后运行cmd.exe):

sc failure test reset= 3600 actions= restart/1000 command= "D:\test.bat"

启动指定服务 test:

sc start test

暂停指定服务 test:

sc pause test

恢复暂停的指定服务 test:

sc continue test

终止指定服务 test:

sc stop test

删除 test 服务(只是从注册表删除,不会彻底删除,服务中还能看到):

sc delete test

注意:更多详情请参考:SC。另外,还可以通过 installutil 来安装和卸载服务,具体可参考:Installutil.exe(安装程序工具)

3、管理任务进程(tasklist、taskkill)

查询运行在本机上的任务:

tasklist /s 127.0.0.1

查询进程使用的 DLL:

tasklist /m

查找 PID 为 456 的进程:

tasklist /fi "pid eq 456"

查找镜像名称为 chrome.exe 的进程:

tasklist /fi "imagename eq chrome.exe"

查找占用 CPU 时间超过 30 分钟的进程:

tasklist /fi "cputime gt 00:30:00"

查找占用内存超过 20000KB 的进程:

tasklist /fi "memusage gt 20000"

强制终止 PID 为 816 的进程:

taskkill /pid 816 /f

终止 PID 为 1704 的进程及其子进程:

taskkill /pid 1704 /t

终止镜像名为 chrome.exe 的所有进程:

taskkill /im chrome.exe

注意:更多详情请参考:Tasklist 和 Taskkill

4、显示 TCP/IP 配置值(ipconfig)

ipconfig.exe 用于显示当前电脑的 TCP/IP 配置值,这些信息一般用来检验人工配置的 TCP/IP 设置是否正确。

显示本机 TCP/IP 配置的详细信息:

ipconfig /all

清除本地 DNS 缓存内容:

ipconfig /flushdns

显示本地 DNS 内容:

ipconfig /displaydns

5、网络诊断工具(ping)

ping 命令可以检查网络是否连通,能很好地帮助我们分析和判定网络故障。通过发送 Internet 控制消息协议(ICMP)回显请求消息来验证与其他 TCP/IP 计算机的 IP 级连接,显示相应回应回复消息的收到以及往返时间。ping 是用于排除连接性,可达性和名称解析的主要 TCP/IP 命令。

测试本机是否能连接 192.168.1.1:

ping 192.168.1.1

测试本机是否能连接 www.baidu.com:

ping www.baidu.com

显示回复消息时将网址解析成 IP 地址:

ping www.baidu.com -a

一直 ping(直到关闭窗口或按下 Ctrl+C):

ping www.baidu.com -t

发送两个 Echo Request 消息(默认为 4 个):

ping www.baidu.com -n 2

注意:更多详情请参考:Ping

6、路由跟踪工具(tracert)

tracert 命令用于确定 IP 数据包访问目标所采取的路径,显示从本地到目标网站所在网络服务器的一系列网络节点的访问速度,最多支持显示 30 个网络节点。示例:

cmd04

如上图所示,最左边一列的 1、2、3……10,表示本机经过 10 个路由节点(不算本地)可以到达百度的服务器。中间的三列表示连接到每个路由节点的速度,返回速度和多次连接响应的平均值。第 5 列的 IP 就是每个路由节点对应的 IP。

第 6、8、9 个节点返回请求超时,则表示这几个路由节点和当前我们使用的宽带是无法联通的。一般 10 个节点以内可以完成跟踪的网站,访问速度都是不错的;10 到 15 个节点之内才完成跟踪的网站,访问速度则比较慢,如果超过 30 个节点都没有完成跟踪,则可以认为目标网站是无法访问的。

7、临时设置环境变量(set)

《探索Windows命令行系列(3):命令行脚本基础》一文中,已经详细讲解了如何通过 set 命令来进行数学计算和使用变量。其实还可以通过 set 命令来临时更改环境变量,所谓临时更改的意思就是修改后只在当前窗口有效,一旦窗口关闭变量值就会被还原,且其它窗口不受影响。

在 Windows 中最特殊、最常用的的环境变量莫过于 path 了,该系统变量表示当前系统的的可执行文件和脚本的命令路径。下面来演示几个用 set 来临时更改 path 的案例:

显示 path 变量值:

set path

置空 path 变量值(相当于删除了 path 变量):

set path=

设置 path 变量值(增加一个路径 D:\Workspace,越靠前的环境变量优先级越高)

set D:\Workspace;%path%

另外 Windows 中内置了许多环境变量或扩展,部分列举如下(下列括号中的文本或路径是基于 Win7 系统测试得来的):

  • %CD% 表示当前目录的字符串值。
  • %RANDOM% 表示一个从 0 到 32767 之间的任意十进制数字。
  • %ERRORLEVEL% 表示当前的 ERRORLEVEL 数值。
  • %CMDCMDLINE% 表示调用命令处理器的原始命令行全路径。("C:\Windows\system32\cmd.exe")
  • %PATH% 表似乎可执行文件的搜索路径。
  • %PATHEXT% 表示操作系统认为可执行的文件扩展名的列表。
  • %WINDIR% 表示操作系统目录的位置。(C:\Windows)
  • %ALLUSERSPROFILE% 表示“所有用户”配置文件的位置。(C:\ProgramData)
  • %APPDATA% 表示默认情况下应用程序存储数据的位置。(C:\Users\HZZ\AppData\Roaming)
  • %HOMEPATH% 表示用户主目录的完整路径。用户主目录是在“本地用户和组”中指定的。(C:\Users\HZZ)
  • %TEMP% 或 %TMP% 表示对当前登录用户可用的应用程序所使用的默认临时目录。有些应用程序需要 TEMP,而其他应用程序则需要 TMP。(C:\Users\HZZ\AppData\Local\Temp)

8、总结

事实上 Windows 中有许多既实用又强大的命令行工具,譬如 ftp、telnet、net、nbtstat、netstat 等等。就拿文件传输命令 ftp 来说,Windows 平台上有很多好用的第三方 FTP 工具,所以基本上没人去用原始的命令。而 telnet、net、nbtstat、netstat 等命令往往也只有那些运维人员、系统管理员及黑客等才有兴趣或需要深入研究和使用。

继续阅读
  • 文本由 发表于 2020年1月22日11:11:40
  • 除非特殊声明,本站文章均为原创,转载请务必保留本文链接
linux命令后台运行 技术文章

linux命令后台运行

有两种方式: 1. command & : 后台运行,你关掉终端会停止运行 2. nohup command & : 后台运行,你关掉终端也会继续运行   一、 简介 Lin...
linux free 命令 技术文章

linux free 命令

free 命令显示系统内存的使用情况,包括物理内存、交换内存(swap)和内核缓冲区内存。 如果加上 -h 选项,输出的结果会友好很多: 有时我们需要持续的观察内存的状况,此时可以使用 -s 选项并指...
Linux常用命令学习 技术文章

Linux常用命令学习

1、ls命令 就是list的缩写,通过ls 命令不仅可以查看linux文件夹包含的文件,而且可以查看文件权限(包括目录、文件夹、文件权限)查看目录信息等等 常用参数搭配: ls -a 列出目录所有文...
Linux网络编程入门 (转载) 技术文章

Linux网络编程入门 (转载)

(一)Linux网络编程--网络知识介绍 Linux网络编程--网络知识介绍 客户端和服务端 网络程序和普通的程序有一个最大的区别是网络程序是由两个部分组成的--客户端和服务器端. 客户端 在网络程序...
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: