Windows命令学习
Tips
-
不是windows命令就会显示"不是内部或外部命令,也不是可运行的程序
或批处理文件。" -
在win10中,选中内容即可复制
-
在老版本的win中,右键标记,再
ctrl+c
打开cmd的三种方式
-
win+r
->运行->cmd
,exit退出命令提示符 -
按住shift键的同时,右键->在此处打开
PowerShell
窗口 -
在资源管理器的地址栏中输入
cmd
,回车->在当前目录打开cmd
基本命令
-
systeminfo
:获取当前系统的详细信息- OS信息
- 电脑配置信息
- 补丁
- 网卡
-
path
:系统的环境变量 -
set
:查看系统变量,包括系统环境变量 -
whoami
:当前用户,当前主机名\当前用户名 -
hostname
:当前主机名 -
cd
-
cd .
-
cd ..
-
cd /
-
在进入根目录
/
之后,cd windows
(相对路径) -
cd C:\Windows
,绝对路径 -
dir
,查看当前目录结构,类似于Linux下的ls
-
dir D:\
查看D盘下的资源,即使当前目录在c盘中,也可以查看 -
d:
,c:
,切换盘符。如果当前所在盘符和目标盘符不同,先切换盘符,再进入另一个盘符下的目录 -
echo 123
-
cls
-
echo 123>1.txt
创建1.txt文件,将标准输出的内容重定向到文件中 -
type 1.txt
读文件内容,类似于Linux下的cat
-
del 1.txt
删除文件 -
mkdir test
创建目录 -
rmdir test
删除目录 -
for /r c:\ %i in (\*flag\*) do @echo %i
在C盘中递归查询文件名中包含flag的文件 -
net user
查看当前主机中的用户 -
net user administrator
查看某个具体用户的信息 -
net user hacker 123 /add
在管理员权限下添加账号 -
net user kk$ 123.com /add
添加DOS隐藏账号DOS隐藏账号在DOS中不可见,但是在控制面板\用户帐户\用户帐户\管理帐户中可见
-
net user hacker 456
在管理员权限下修改密码 -
net user hacker /del
在管理员权限下删除用户 -
net user administrator /active:yes
启用administrator账号 -
net user guest /active:yes
启用guest账号 -
net user administrator /active:no
禁用administrator账号 -
net user guest /active:no
禁用guest账号 -
regidit
打开注册表编辑器 -
services.msc
打开服务 -
net localgroup
查看本地所有组-
Administrators
:管理员组 -
Guests
:来宾组 -
Users
:普通用户组 -
Remote Desktop Users
:远程桌面组新添加一个用户的时候,这个用户默认属于Users组
当用户属于多个组,权限以最高权限组为主,比如hk用户即属于
users
组也属于Administrators
组,那么他拥有Administrators
组的权限。
-
-
net localgroup demo /add
添加组 -
net localgroup demo /del
删除组 -
net localgroup administrators hk /add
向管理员组添加用户hk -
net localgroup administrators hk /del
从管理员组中删除用户hk
网络管理
ping
ping
测试网络连通性,格式为ping IP/URL
这里以虚拟机作为目标主机,它的操作系统的版本是Windows Server 2008 HPC Edition,我们用物理机去
ping
它,得到的TTL=123
Windows NT/2000 默认TTL是128,该服务器是虚拟机,和物理机在同一个NAT网络中,中间没有经过任何路由器,所以TTL没有减少。
以192.168.179.160作为目标主机,得到的TTL=63
Linux的默认TTL是64,我们推测主机192.168.179.160可能是Linux,我们和该服务器中间只经过了一跳路由器。
可见,windows的
ping
默认发送4个数据包,使用-n选项指定发送数据包的个数,使用-t选项一直发送icmp探测报文。linux的
ping
默认一直ping,使用-c
选项指定发送数据包的个数。-
ipconfig
ipconfig
查看网络配置信息-
ipconfig /all
所有网卡配置信息物理地址(MAC地址),虚拟出来的MAC地址一般以00开头,真实的MAC地址是唯一的
一个网卡可以配置多个IP地址,一个电脑可以配置多个网卡,两个网卡的主机称为双宿主机
-
ipconfig /release
释放当前配置的IP(使用DHCP获取的IP) -
ipconfig /renew
重新获取IP -
ipconfig /flushdns
刷新DNS缓存这是Windows Server 2008 HPC Edition,启用了DHCP服务
-
现在使用
ipconfig /release
释放当前配置的IP(从DHCP服务器获得的IP) -
使用ipconfig /renew
重新获取IP,获得了和原来相同的IP
ipconfig /displaydns
查看系统内的dns缓存
使用ipconfig /flushdns
刷新DNS缓存
再次输入ipconfig /displaydns
来确定是否清空了dns缓存
-
apr -a
查看ARP缓存表 -
route print
路由表route print
输出的有接口列表、IPv4路由表、IPv6路由表 -
netshare
查看本地有哪些共享文件-
net share test=c:/test
共享文件 -
net share test /del
删除共享net share
查看电脑中的共享资源,带有$符号的为隐藏的共享资源,当从局域网浏览时将不会显示netstat -an
,查看445端口已经处于LISTENING状态输入命令
net share tools=C:\Tools\Day5
,将C:\Tools\Day5
文件夹进行共享
-
服务器的IPv4 地址时 : 192.168.189.136,共享名是tools,在物理机访问其共享文件夹\\\192.168.189.136\tools
net share tools /del
删除共享
IP信息获取以及配置
-
netsh interface ipv4 show address
查看本地IP地址 -
netsh interface ipv4 show dnsservers
DNS信息 -
netsh interface ipv4 set address name="本地连接 3" source=dhcp
-
netsh interface ipv4 set address name="本地连接 3" static 192.168.10.128 255.255.255.0 192.168.10.1
-
netsh interface ip add dnsservers "本地连接 3" 10.0.0.3 index=1 validate=no
# 不验证这是服务器的初始状态
命令netsh interface ipv4 set address name="本地连接" static 192.168.10.128 255.255.255.0 192.168.10.1
,配置静态IP地址、子网掩码和默认网关
netsh interface ip add dnsservers "本地连接" 114.114.114.114 index=1 validate=no
index=1
设置首选DNS服务器,validate=no
不进行验证
-
netstat -ano
当前系统中运行的端口有哪些 -
netstat -ano | findstr 80
找到当前系统中运行的80端口-a
:显示所有活动TCP连接以及计算机正在侦听的TCP和UDP端口-n
:显示活动TCP连接,但地址和端口号用数字表示,而不会尝试确定名称-o
:显示活动TCP连接,并包含每个连接(PID)的进程ID。你可以根据Windows任务管理器中“进程”选项卡上的PID查找该应用程序。此参数可以与-a、-n
和-p
结合使用。
根据端口找PID,根据PID找进程
现在,我们在主机上运行MySQL5.7,FTP、Apache2,我们要找到这三个进程
根据端口找PID
在任务管理器中,根据“进程”选项卡上的PID查找该应用程序。
-
tasklist
查看当前主机中运行的程序 -
tasklist | find 2092
-
taskkill /?
显示taskkill工具的帮助信息 -
taskkill /f /pid 2092
根据PID杀掉某个进程-
/f
:指定强制结束进程。对于远程进程,此参数将被忽略。所有远程进程都被强制结束。 -
/pid
:指定要终止的进程的进程ID。这三个命令一起使用,可以代替任务管理器结束进程
然后使用
tasklist
找到PID对应的进程
最后使用
taskkill
结束进程 -
-
taskkill /?