每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领域的领跑者。点击订阅,与未来同行! 订阅:https://rengongzhineng.io/
在这个领域的读者们都知道,我喜欢谈论微软是如何重启自己的,如何围绕开源重新定位公司,并创造了WSL(Windows子系统Linux)。让我惊讶的是,这家曾经称Linux为癌症的公司如何重建自己成为一个离不开它的企业。这就引出了今天的新闻。如果你使用的是Windows 11,那么不久后,你将能够启动Windows终端并输入类似下面这样的命令:
`sudo notepad \windows\system32\drivers\etc\hosts`
这当然是Linux中著名的sudo命令,它如此出名以至于有自己的xkcd漫画(如下所示)。当你运行sudo时,你会看到熟悉的Windows UAC弹窗,询问你是否想要提升你的权限。如果你同意,接下来的语句将以管理员身份执行。(对于你接下来输入的任何内容,生活都会恢复正常。)
在这个例子中,我使用sudo来以管理员身份启动记事本。这对于编辑hosts文件很重要。作为普通用户,我不允许更新这个文件。但现在,我玩在线象棋玩得太多了。我知道我可以通过一个简单的编辑来切断这个干扰,阻止访问chess.com,不需要额外的软件。所以,是时候穿上我的管理员靴子,做出改变了。
如何将sudo引入Windows
Sudo代表“超级用户执行”。这是Linux中升级权限的一种方便方式。但这个例子是在Windows中,我以普通方式(在非管理员用户环境中)打开了一个Windows终端窗口。通常,sudo在这里不起作用。但在最新的Windows 11 insider预览版(构建26052)中,所有这些都发生了变化,sudo被包含为一个可选的开发者特性。
假设你已经加入了Windows内部测试计划,你可以从Windows设置中的“设置 > 针对开发者”页面启用sudo。或者,你可以启动一个提权的Windows终端会话,并使用以下命令来启用它:
`sudo config --enable normal`
“normal”选项赋予你完整的sudo权限,就像在Linux中一样。另外,你还可以使用更安全的选项disableInput,它不允许提升权限的过程接收任何进一步的用户输入,或者forceNewWindow,它会启动一个新的终端窗口来运行新提升权限的过程。这两种方法都可以减轻一些潜在的安全风险,但它们改变了sudo的工作方式,使其不完全与Linux实现相同。
顺便说一下,微软已经暗示,他们可能会将sudo移植回Windows 10。所以,这个新功能将成为即使对于使用较旧PC的开发者来说也是标准选项。
我们需要sudo吗?
没有sudo,我会使用某种版本的runas来成为管理员——要么通过在命令行中输入runas,要么通过右击开始菜单中的Windows终端图标来获取“以管理员身份运行”的选项。
因此,从技术上讲,sudo并没有给你带来你已经做不到的东西。相反,它允许你以传统的Linux方式工作。如果你是一个真正的Linux用户,这特别棒,无论是因为你花了很多时间配置服务器或云环境,还是你只是喜欢在那个操作系统中开发。然后,使用sudo就像输入ls代替dir或cat代替type一样——一种使用对你来说最熟悉的方法而不需要额外认知转换的方式。(是的,Windows也允许这些其他替代。)
不那么明显,但同样重要的是,像sudo这样的添加帮助Windows开发者更加舒适地了解Linux的惯例。在过去的几年中,我已经开始更喜欢Linux选项而不是原生的Windows-only shell命令。那是因为,我对Linux命令越熟悉,就越不可能在下次我在真正的Linux提示符下工作时——例如,在像AWS这样的云环境的shell中——感到迷失和孤独。我打算也充分利用sudo。
微软和Linux,一段不寻常的恋情。如果你对微软拥抱Linux还不太了解,你绝对应该看看WSL,这是随Windows一起发货的Linux内核,允许各种有趣的互操作性场景。例如,你可以直接在VS Code中开发到一个虚拟的Linux文件系统,并在Docker中运行Linux容器。如果你还没有玩过WSL,看看《每个Windows开发者都需要一点Linux》以获取一些宝贵的背景信息。
让我们花一点时间感谢微软那些有远见的人,他们迫使公司改变了其早期的路线和妖魔化Linux的方式。虽然只用了二十多年的时间,但似乎很清楚,如果没有那次转变,微软只会成为科技历史上的又一个沉重的脚注。现在我们处在一个交替的历史中,微软做了一些几年前看起来
疯狂的事情。比如使用JavaScript构建世界上最受欢迎的代码编辑器(VS Code),重建他们庞大的.NET项目使其跨平台和开源,当然还有——将一个完整的Linux内核偷偷搬进Windows的心脏。