本指南介绍了特定于 Windows 环境的命令行工具和技术。它涵盖了原生的 Windows 命令行功能以及在 Windows 中访问类 Unix 工具的方法。有关跨平台工作的通用命令行技术,请参阅命令行基础。
Windows 用户可以通过多种选项来访问类 Unix 命令行环境。
Cygwin 提供了一个在所有 Windows 版本上运行的全面的类 Unix 环境。
WSL 在 Windows 10 及更高版本中可用,它提供了一个与 Windows 集成的完整 Linux 环境。
MinGW (Minimalist GNU for Windows) 主要专注于开发工具。
常用 Unix 命令的最小化实现。
即使不安装额外的环境,Windows 也包含了一些强大的命令行实用程序。
Windows Management Instrumentation Command-line (WMIC) 使您能够查询和管理系统资源。
wmic os get caption,version (显示 Windows 版本)Windows 包含有用的原生网络工具,用于故障排除。
直接从命令行执行 DLL 文件中的函数。
Rundll32 DLLName,FunctionName [可选参数]rundll32 user32.dll,LockWorkStation (锁定计算机)对于选择 Cygwin 的用户,这些技巧可以提高生产力。
使用 Cygwin 的包管理器安装其他 Unix 程序。
apt-cyg(如果已安装)作为命令行包管理器。使用 mintty 作为您的命令行窗口,以获得更好的体验。
通过特殊设备文件访问 Windows 剪贴板。
cat /dev/clipboardecho "text" > /dev/clipboard使用关联文件打开应用程序。
cygstart filename 使用其注册的 Windows 应用程序打开文件。cygstart document.docx 在 Microsoft Word 中打开。通过命令行访问 Windows 注册表。
regtool 查看和修改注册表项。regtool get /HKEY_CURRENT_USER/Environment/PATH在 Windows 和 Cygwin 路径格式之间进行转换。
C:\ 驱动器在 Cygwin 中变为 /cygdrive/c。/ 在 Windows 上显示为 C:\cygwin。cygpath 转换路径。cygpath "C:\Program Files\app.exe"cygpath -w "/home/user/file.txt"在 Windows 和类 Unix 环境中工作时,请注意这些差异:
\),而 Unix 使用正斜杠(/)。C:),而 Unix 使用挂载点。文本文件具有不同的行尾约定。
\r\n)\n)dos2unix 和 unix2dos 这样的工具可以进行格式转换。许多常用命令名称或选项不同。
| 任务 | Unix | Windows (CMD) | PowerShell |
|---|---|---|---|
| 列出文件 | ls | dir | Get-ChildItem 或 dir |
| 查找文本 | grep | findstr | Select-String |
| 设置变量 | export VAR=value | set VAR=value | $VAR = "value" |
| 显示路径 | echo $PATH | echo %PATH% | $env:PATH |
| 清屏 | clear | cls | Clear-Host 或 cls |
| 查看文件 | cat file | type file | Get-Content file |
有关 Windows 命令行工具的更多信息