在 Windows 11 Insider Preview Build 26052 中,Microsoft 为 Windows 添加了 sudo 命令,它可以让用户像在 Linux 中那样使用 sudo。如果你想在 26052 以下的版本中使用 sudo,你可以查看上篇博客
启用
设置
打开开发者选项
![for developers](https://static.qgmzmy.me/23-1.png)
启用 sudo,并选择是
![enable sudo](https://static.qgmzmy.me/23-2.png)
选择一种模式,不同模式的区别可以在下方查看
![mode](https://static.qgmzmy.me/23-3.png)
CLI
以管理员身份运行命令提示符
![Admin cmd](https://static.qgmzmy.me/23-4.png)
使用sudo config --enable <configuration_option>
命令启用 sudo,其中<configuration_option>
可填forceNewWindow
/disableInput
/normal
,分别对应“在新窗口中”、“禁用输入”、“内联”,具体区别可在下方查看
![](https://static.qgmzmy.me/23-5.png)
三种模式的区别
在新窗口中(forceNewWindow)
在新窗口中是 sudo 的默认配置,在使用 sudo 时会开启一个新的窗口
![sudo vim](https://static.qgmzmy.me/23-6.png)
禁用输入(disableInput)
禁用输入会在当前窗口中执行命令,但输入句柄已关闭,这意味着程序无法获取输入
图中是一个简单的 Python 脚本,它会将输入的内容原样输出
![test.py](https://static.qgmzmy.me/23-7.png)
在内联模式下执行它,可以正常输出我输入的内容
![](https://static.qgmzmy.me/23-8.png)
但在禁用输入模式下,它会报 EOFError
![EOFError](https://static.qgmzmy.me/23-9.png)
内联(normal)
内联是最接近其它操作系统上的一种模式,它会在当前窗口中执行命令,并且能正常接受输入
![win](https://static.qgmzmy.me/23-10.png)
![Ubuntu](https://static.qgmzmy.me/23-11.png)
命令
run
语法:sudo run [OPTIONS] [COMMANDLINE]...
用途:以管理员身份运行命令
示例:sudo run python test.py
(以管理员身份执行 python test.py 命令)
![sudo run](https://static.qgmzmy.me/23-12.png)
config
语法:sudo config [OPTIONS]
用途:获取或配置 sudo 的配置信息
示例:sudo config
(获取配置信息)、sudo config --enable disable
(禁用 sudo)
![sudo config](https://static.qgmzmy.me/23-13.png)
help
语法:sudo help
用途:查看帮助
示例:sudo help
(查看帮助)
![sudo help](https://static.qgmzmy.me/23-14.png)
参数
-E, –copyEnv
没研究明白 :(,Pass the current environment variables to the command
–newWindow
让命令在新窗口中执行
![--newWindow](https://static.qgmzmy.me/23-15.png)
–disableInput
禁用输入
![--disableInput](https://static.qgmzmy.me/23-16.png)
-h, –help
查看帮助
![-h, --help](https://static.qgmzmy.me/23-17.png)
-V, –version
查看版本
![-V, --version](https://static.qgmzmy.me/23-18.png)
Microsoft Learn:Sudo for Windows | Microsoft Learn
Microsoft DevBlogs:Introducing Sudo for Windows! – Windows Command Line
YouTube:Sudo On Windows! …and other tricks
Windows Insider Blog:Announcing Windows 11 Insider Preview Build 26052 (Canary and Dev Channels) | Windows Insider Blog