cmd
- 大小写不敏感
- 参数通常是
/
开头,而不像 Unix 下是-
- 帮助:
-help
,/?
|
管道、>
输出重定向、>>
输出重定向(追加)、<
输入重定向、<< EOF
heredoc、<<< CONTENT
输入重定向(字符串)作用和 Linux 相同- Ctrl + C 退出执行
help
help | more
dir C:\Windows\System32\*.exe
dir C:\Windows\System32\*.msc
export
echo
cls # 类似 clear
tasklist
taskkill
cd
mkdir / md
del # 类似 rm
del /q anydir
rd # 删除目录(非空目录不可删除)
dir # 类似 ls
tree
find
findstr # 类似 grep
ping
ipconfig
netstat
tracert
route
dig
nslookup
shutdown -s -t 300 # 定时关机
explorer # 文件浏览器
notepad # 记事本
taskmgr # 命令管理器
regedit # 注册表编辑器
services.msc # 服务
注册表
Registry, 港澳台地区称之为登录档。就是一个树形结构的数据库,存放系统和应用程序的配置信息。
Linux 下各个应用程序,甚至操作系统的各组件都采用不同的配置文件存储在不同的地方,但 Windows 却采用了这种集中式存储。
https://zh.wikipedia.org/zh-hans/注册表
名称 | 作用 |
---|---|
HKEY_CLASSES_ROOT | 存储Windows可识别的文件类型的详细列表,以及相关联的程序。 |
HKEY_CURRENT_USER | 存储当前用户设置的信息。 |
HKEY_LOCAL_MACHINE | 包括安装在计算机上的硬件和软件的信息。 |
HKEY_USERS | 包含使用计算机的用户的信息。 |
HKEY_CURRENT_CONFIG | 这个分支包含计算机当前的硬件配置信息。 |
常见数据结构:
REG_SZ
字符串REG_BINARY
二进制REG_DWORD
32 位二进制值,显示为 8 位的十六进制数REG_MULTI_SZ
多字符串,nul 隔开,结尾两个 nulREG_EXPAND_SZ
python 有内置库 winreg 可以用来操作注册表。
import winreg
reg = winreg.ConnectRegistry(None, winreg.HKEY_LOCAL_MACHINE)
key_name = r'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall'
key = winreg.OpenKey(reg, key_name)
for i in range(1024):
try:
sub_key_name = winreg.EnumKey(key, i)
sub_key = winreg.OpenKey(key, sub_key_name)
value = winreg.QueryValueEx(sub_key, "DisplayName")
print('%s: %s' % (sub_key_name, value))
except EnvironmentError:
break
Services
# 小心 sc 命令中比较另类的等于号后有空格设计
sc create memcached binPath= "c:\memcached.exe -l 0.0.0.0 -m 128 -d" DisplayName= "Memcached" start= auto
PowerShell
虽然使用频率不高,但和 PowerShell 少有的几次接触感觉很好,很强大。其结构化而非文本的数据结构让人印象深刻。
- 别名
- 函数
- cmdlet
- 命令
get-alias | findstr /I get-alias
gal | findstr ls
man
help
ls # Get-ChildItem
ps # Get-Process
ps | select Name, Id
ps | ft -Property Id, ProcessName, Handles, VM, WS, CPU -AutoSize
ps | where { $_.Name -eq "explorer" }
curl # Invoke-WebRequest
rm # Remove-Item
rmdir # Remove-Item
ni -ItemType File -Path C:\Users\Administrator\file.txt # New-Item
cp # Copy-Item
cp -Path C:\Users\Administrator\file.txt -Destination D:\Temp\
gcm # Get-Command
shcm # Show-Command
get-volume
工具
GUI
- process explorer
- everything
- HeidiSQL
- PuTTY
- WizTree 目录分析
包管理
- choco (chocolatey)
- scoop
- winget
安装包格式
- MSI 官方出品, Windows Installer
- NSIS Nullsoft Scriptable Install System, zlib license
- WiX
- Inno Setup