Windows 命令
CMD & PowerShell
CMD:Windows 系统命令、CMD 指令、DOS 指令——
C:\windows\system32\cmd.exePowerShell:PowerShell 命令、cmdlet 命令
[!tip]
PowerShell 命令更高级,默认不兼容 CMD 指令,从 Windows Vista 操作系统开始,基于
.NET框架。
CMD 基础指令
cd 命令
cd C:\ #绝对路径切换目录
cd windows\system32 #相对路径切换目录
cd /d K:\ #切换盘符命令
dir 命令
dir #查看文件
dir /a #查看隐藏文件
ipconfig 命令
ipconfig #查看系统的网络配置
ipconfig /all #查看系统更详细的网络配置
cls 命令
cls #清屏
type 命令
type #查看文本文件
move 命令
move 1.txt test #将 1.txt 剪切到 test 目录
copy 命令
copy 1.txt test #将 1.txt 复制到 test 目录
ping 命令
ping ip #测试网络,默认 ping 四次
ping -n 1 ip #ping 一次
nslookup 命令
nslookup #发起 DNS 解析,查询域名对应的 IP 地址。
netstat 命令
netstat -ano #列出当前系统上所有的网络连接以及他们的状态
netstat -anob #管理员才能运行,列出当前系统上所有的网络连接以及他们的状态和进程
tasklist 命令
tasklist #列出进程列表
taskkill 命令
taskkill /pid PID #终止进程
findstr 命令
type 1.txt | findstr "hello" #检索字符串,类似 Linux 的 grep
echo 命令
echo "" > 2.txt #新建文件,CMD没有直接创建文件的命令
mkdir 命令
mkdir demo01 #创建文件夹
rmdir 命令
rmdir demo01 #删除文件夹
del 命令
del test #删除文件,也可删除文件夹
del /f test #强制删除
ren 命令
ren 1.txt 2.txt #将 1.txt 重命名为 2.txt
CMD 命令与 Linux 命令对比
CMD 管理命令
用户管理
#查看用户
net user #administrator 默认管理员用户
#Guest 来宾访客用户
#自己创建的用户 受限制管理员用户
#查看用户详细信息
net user [user_name]
#激活administrator
net user administrator /active:yes
#禁用administrator
net user administrator /active:no
#修改密码
net user [user_name] [password]
#新建用户(需管理员)
net user [user_name] [password] /add
#无需创建家目录,在首次登陆时会自动创建,属于 users 组
#新建用户提升为管理员
net localgroup administrators [user_name] /add
#将用户放到管理员组中,该用户此时依旧是受限制管理员
#windows 只有 administrator 是不受限制的管理员
#删除用户
net user [user_name] /del
权限管理
#显示当前登录用户的用户名
whoami
#显示当前用户的安全权限
whoami /priv
Q:如何判断 Windows 用户是否是管理员用户?
A:查看当前用户是否在管理员组(administrators)中——
net user [user_name]。

Q:如何判断 Windows 用户权限是否是完整的管理员权限(不受限制的管理员权限)?
A:若用
whoami /priv查看到少于 5 个(server 10 个)权限即是不完整的管理员权限。

若以管理员身份运行 CMD,查询命令
whoami /priv,若有SeDebugPrivilege(调试程序)、SelmpersonatePrivileger(模拟令牌)权限,则是有完整的管理员权限管理员。

文件共享
[!tip]
服务端口:
445文件共享服务:在 Linux 中为 samba,在 Window s 中为 servers / LanmanServer。
[!CAUTION]
本地物理机谨慎使用,Windows11 的 administrator 用户默认禁用。
该命令使用
use,区分用户管理的user。
#查看管理本地共享文件夹
net share
#查看当前所有网络共享连接
net use
#建立共享连接(默认共享,即 admin$、盘符$、ipc$,必须使用 administrator 用户连接)
#若连接不上,先检测 server 的防火墙
net use \\[server_ip] /user:administrator [password]
#默认连接的共享的为 ipc$ ===等价于=== [server_ip]\ipc$
#若连接其他盘符共享:[server_ip]\盘符$
#还可连接管理共享:[server_ip]\admin$
#将 server 的 C 盘映射至本地的 X盘
net use X: \\[server_ip]\C$ /user:administrator [password]
#删除共享
net use \\[server_ip]\[share_name] /del
#share_name 为 admin$、盘符$、ipc$ 等
#使用共享
##查看共享文件
dir \\[server_ip]\[share_name]
##Server-Client 互相传输文件
### Client-->Server
copy [Client_path_file] \\[server_ip]\[share_name]\[path]
### Server-->Client
copy \\[server_ip]\[share_name]\[path]\Server_file [Client_path]
PowerShell 基础命令
cmdlet 命令
Set-Location [path] #切换目录 === cd
Get-Location #输出当前路径 === pwd
Get-ChildItem #列出当前目录内容 === ls
......
Alias 别名
[!note]
cmdlet 原本命令太麻烦,所有对一些常见命令设定别名,这些别名都是常见的 Linux 和 CMD 命令。
Get-Alias #查看 PowerShell 所有别名
评论区