Windows 命令
CMD & PowerShell
- CMD:Windows 系统命令、CMD 指令、DOS 指令——
C:\windows\system32\cmd.exe
- PowerShell: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 命令对比
功能描述 | Windows CMD 命令 | Linux 命令 |
---|---|---|
切换目录 | cd | cd |
查看目录内容 | dir | ls |
查看 IP 配置 | ipconfig | ifconfig 或 ip a |
清屏 | cls | clear |
查看文件内容 | type [file_name] | cat [file_name] |
移动文件或重命名 | move [file] [目标目录] / ren [file1] [file2] | mv [file] [目标目录或新文件名] |
复制文件 | copy [file] [目标目录] | cp [file] [目标目录] |
测试网络连通性 | ping IP | ping IP |
DNS 查询 | nslookup 域名 | nslookup 域名 |
查看网络连接 | netstat | netstat 或 ss |
查看任务/进程 | tasklist | ps -elf 或 top |
结束进程 | taskkill /pid [PID] | kill [PID] 或 kill -9 [PID] |
查找文件或文本 | dir [file_name] /s 或 findstr "关键字" | find / -name [file_name] 或 grep 关键字 文件 |
输出文本到终端 | echo 文本 | echo 文本 |
创建文件夹 | mkdir [文件夹名] | mkdir [文件夹名] |
删除文件夹 | rmdir [文件夹名] | rmdir [文件夹名] 或 rm -r [文件夹名] |
删除文件 | del [file_name] | rm [file_name] |
查看用户列表 | net user | cat /etc/passwd |
查看单个用户信息 | net user [user_name] | id [user_name] 或 getent passwd [user_name] |
添加用户 | net user [user_name] [password] /add | useradd [user_name] && passwd [user_name] |
删除用户 | net user [user_name] /del | userdel [user_name] |
删除用户及家目录 | 无 | userdel -r [user_name] |
添加用户到管理员组 | net localgroup administrators [user_name] /add | usermod -aG sudo [user_name] |
查看权限信息 | whoami /priv | id 或 groups [user_name] |
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 所有别名