Windows的Linux化持續推進中

??每周跟蹤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的心臟。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/717888.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/717888.shtml
英文地址,請注明出處:http://en.pswp.cn/news/717888.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Java基礎 - 6 - 面向對象(二)

Java基礎 - 6 - 面向對象(一)-CSDN博客 二. 面向對象高級 2.1 static static叫做靜態,可以修飾成員變量、成員方法 2.1.1 static修飾成員變量 成員變量按照有無static修飾,分為兩種:類變量、實例變量(對象…

JavaScript 語句語法的教程

JavaScript 是一種廣泛應用于網頁開發的腳本語言,熟練掌握 JavaScript 的語法是成為一名優秀的前端開發工程師的必備技能之一。本教程將詳細介紹 JavaScript 中的語句語法,幫助初學者快速入門并加深對 JavaScript 語法的理解。 一、注釋 在 JavaScript…

常見的爬蟲逆向面試題

文章轉載于:https://mp.weixin.qq.com/s/dXRo0D_Xx7E_h85XbnwPVQ 有興趣去源站瀏覽學習 主要自己看著方便些 1.HTTS三次握手 目前使用的 HTTP/HTTPS 協議是基于 TCP 協議之上的,因此也需要三次握手。在 TCP 三次握手建立鏈接之后,才會進行 …

故障診斷 | 一文解決,XGBoost極限梯度提升樹的故障診斷(Matlab)

效果一覽 文章概述 故障診斷 | 一文解決,XGBoost極限梯度提升樹的故障診斷(Matlab) 模型描述 XGBoost通過集成多個決策樹來建立一個強大的預測模型。它采用了一種特殊的梯度提升技術,稱為極限梯度提升(Extreme Gradient Boosting),以提高模型的性能和魯棒性。 極限梯度…

【大數據Hive】hive 多字段分隔符使用詳解

目錄 一、前言 二、hive默認分隔符規則以及限制 2.1 正常示例:單字節分隔符數據加載示例 2.2 特殊格式的文本數據,分隔符為特殊字符 2.2.1 文本數據的字段中包含了分隔符 三、突破默認限制規則約束 3.1 數據加載不匹配情況 1 3.2 數據加載不匹配…

python paramiko 網絡系統運維

概述 背景:網絡系統運維與建設:工作中發現客戶使用python腳本批量操作網絡設備導出多臺網絡設備的配置定期執行相關的巡檢工作 修改配置 # -*- coding:utf8 -*- """ # editor: hjjdreamer # create-time: 2024/3/3-23:31 # Python-Scri…

Java項目推薦|幾個B站上的從零搭建項目

分享幾個B站上搜集到的技術比較全,講解也詳細的Java后端開發項目 目錄 谷粒商城 2020-03-31 iHRM 人力資源管理系統 2021-04-16 瑞吉外賣 2022-04-12 學成在線 2023-01-13 尚上優選 2023-06-06 黑馬頭條 2023-06-13 蒼穹外賣 2023-07-05 谷粒商城 2020-03-3…

命名實體識別NER

一、什么是命名實體識別: 命名實體:通常我們將人名、地名、機構名等專有名詞統稱命名實體,如:周杰倫,黑山縣,孔子學院,24方鋼直機 顧名思議,命名實體識別(簡稱NER&#x…

【常用的 Git 命令及簡要示例說明】

常用的 Git 命令及簡要示例說明,以供參考: 初始化一個新的代碼倉庫: git init克隆一個遠程倉庫到本地: git clone https://github.com/user/repo.git添加當前所有變更到暫存區: git add .提交暫存區的變更到本地倉庫&a…

STM32FreeRTOS任務通知(STM32cube高效開發)

文章目錄 一、任務通知(一)任務通知概述1、任務通知可模擬隊列和信號量2、任務通知優勢和局限性 (二) 任務通知函數1、xTaskNotify()發送通知值不返回先前通知值的函數2、xTaskNotifyFromISR()發送通知函數ISR版本3、x…

Java面試題總結200道(二)

26、簡述Spring中Bean的生命周期? 在原生的java環境中,一個新的對象的產生是我們用new()的方式產生出來的。在Spring的IOC容器中,將這一部分的工作幫我們完成了(Bean對象的管理)。既然是對象,就存在生命周期,也就是作用…

LeetCode 刷題 [C++] 第73題.矩陣置零

題目描述 給定一個 m x n 的矩陣,如果一個元素為 0 ,則將其所在行和列的所有元素都設為 0 。請使用 原地 算法。 題目分析 題目中要求使用原地算法:即直接在輸入矩陣上進行修改。因此如果在輸入矩陣上把行/列的值修改成0后,在…

【Linux】基本指令(下)

🦄個人主頁:修修修也 🎏所屬專欄:Linux ??操作環境:Xshell (操作系統:CentOS 7.9 64位) 日志 日志的概念: 網絡設備、系統及服務程序等,在運作時都會產生一個叫log的事件記錄;每一行日志都記載著日期、時間、使用者及動作等相關…

計算機視覺(Computer Vision)和機器視覺(Machine Vision)

舉例說明計算機視覺(CV)技術的優勢和挑戰 計算機視覺(CV)技術是一種使用計算機科學和機器學習方法來解釋、分析和理解圖像和視頻的技術。它的優勢和挑戰如下: 優勢: 高效性:CV技術可以快速處…

課時53:數組實踐_基礎操作_數組基礎

1.1.2 數組定義 學習目標 這一節,我們從 基礎知識、簡單實踐、小結 三個方面來學習。 基礎知識 數組創建 在Shell中,用括號來表示數組,數組元素用“空格”符號分割開。定義數組的語法格式:array_name(value1 ... valuen) 注意…

MSCKF4講:后端理論推導(下)

MSCKF4講:后端理論推導(下) 文章目錄 MSCKF4講:后端理論推導(下)6 可觀測性分析與約束6.1 為什么要做能觀性分析6.2 關于零空間解釋6.3 可觀測性分析6.4 可觀測性約束① 狀態轉移矩陣Φ② 對觀測矩陣H--觀測…

【洛谷 P8682】[藍橋杯 2019 省 B] 等差數列 題解(數學+排序+輾轉相除法)

[藍橋杯 2019 省 B] 等差數列 題目描述 數學老師給小明出了一道等差數列求和的題目。但是粗心的小明忘記了一部分的數列,只記得其中 N N N 個整數。 現在給出這 N N N 個整數,小明想知道包含這 N N N 個整數的最短的等差數列有幾項? 輸…

deep learning with pytorch(一)

1.create a basic nerual network model with pytorch 數據集 Iris UCI Machine Learning Repository fully connected 目標:創建從輸入層的代碼開始,向前移動到隱藏層,最后到輸出層 # %% import torch import torch.nn as nn import torch.nn.funct…

【大數據】詳細講解

大數據 0. 前言1. 大數據的5V特征2. 大數據技術3. 大數據分析4. 大數據應用5. 失效風險與挑戰 0. 前言 大數據是一個涉及非常龐大和復雜數據集的領域,這些數據集因其規模和復雜性而難以使用傳統數據處理軟件進行有效處理。在講解大數據之前,我們首先需要…

LeetCode26 刪除有序數組中的重復項

題目 給你一個 非嚴格遞增排列 的數組 nums ,請你原地刪除重復出現的元素, 使每個元素 只出現一次 ,返回刪除后數組的新長度。 元素的 相對順序 應該保持 一致 然后返回 nums 中唯一元素的個數。 示例 示例 1:輸入:num…