详解 Windows 11 sudo 命令

在 Windows 11 Insider Preview Build 26052 中,Microsoft 为 Windows 添加了 sudo 命令,它可以让用户像在 Linux 中那样使用 sudo。如果你想在 26052 以下的版本中使用 sudo,你可以查看上篇博客

启用

设置

打开开发者选项

for developers
开发者选项

启用 sudo,并选择是

enable sudo
启用 sudo

选择一种模式,不同模式的区别可以在下方查看

mode
选择运行模式
CLI

以管理员身份运行命令提示符

Admin cmd
管理员命令提示符

使用sudo config --enable <configuration_option>命令启用 sudo,其中<configuration_option>可填forceNewWindow/disableInput/normal,分别对应“在新窗口中”、“禁用输入”、“内联”,具体区别可在下方查看

将 sudo 设为内联

三种模式的区别

在新窗口中(forceNewWindow)

在新窗口中是 sudo 的默认配置,在使用 sudo 时会开启一个新的窗口

sudo vim
在此模式下,使用 sudo vim 会在一个新的窗口中打开 vim
禁用输入(disableInput)

禁用输入会在当前窗口中执行命令,但输入句柄已关闭,这意味着程序无法获取输入

图中是一个简单的 Python 脚本,它会将输入的内容原样输出

test.py
将输入的内容赋值给 a,并将 a 输出

在内联模式下执行它,可以正常输出我输入的内容

一切正常

但在禁用输入模式下,它会报 EOFError

EOFError
EOFError
内联(normal)

内联是最接近其它操作系统上的一种模式,它会在当前窗口中执行命令,并且能正常接受输入

win
Windows 中内联模式下的 sudo
Ubuntu
Ubuntu 中的 sudo

命令

run

语法:sudo run [OPTIONS] [COMMANDLINE]...

用途:以管理员身份运行命令

示例:sudo run python test.py(以管理员身份执行 python test.py 命令)

sudo run
示例
config

语法:sudo config [OPTIONS]

用途:获取或配置 sudo 的配置信息

示例:sudo config(获取配置信息)、sudo config --enable disable(禁用 sudo)

sudo config
示例
help

语法:sudo help

用途:查看帮助

示例:sudo help(查看帮助)

sudo help
示例

参数

-E, –copyEnv

没研究明白 :(,Pass the current environment variables to the command

–newWindow

让命令在新窗口中执行

--newWindow
示例
–disableInput

禁用输入

--disableInput
示例
-h, –help

查看帮助

-h, --help
示例

-V, –version

查看版本

-V, --version
示例

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

FacebookXSina WeiboThreadsQzoneTelegram

发表评论