1. 程式人生 > >【ASP.NET Core】準備工作:在 Windows 10 上配置 Linux 子系統

【ASP.NET Core】準備工作:在 Windows 10 上配置 Linux 子系統

字符 登錄 界面 div 輸出 ace .... 配置服務 主機

ASP.NET Core 其實比傳統的 ASP.NET 要簡單很多,而且也靈活很多,並且可以跨平臺獨立運行。

在 Windows 平臺上,我們只要在安裝 Visual Studio 的時候選擇跨平臺的 .NET Core 開發即可,基本無需什麽配置就能測試 ASP.NET Core 應用,連 IIS 你也可以不啟用(當然你也可以啟用的),因為使用 dotnet 命令就能直接運行。當然了,在MacOS和 Linux 上也是通過 dotnet 命令運行的。

一般來說,在 Windows 平臺上,你的 ASP.NET Core 應用如果能順利運行,到其他平臺也是沒問題。不過,能跨平臺測試一下是更好的。

不管是你想學習 Linux ,還是想在 Linux 下測試 Core 應用,傳統做法可能你會想到在虛擬機裏面安裝。然而虛擬機比較麻煩,性能消耗也大,還不如直接啟用 Windows 10 下面的 Linux 子系統,不僅節約開銷,而且也可以直接訪問 Windows 文件目錄,操作起來更直爽。

大夥伴們可能會說:我從來沒用過 Linux ,咋辦?沒事,只要你用過 CMD 窗口就行了。這篇爛文老周就來裝裝逼,許多人都會人認為會玩 Linux 好像特牛似的,但老周覺得沒啥了不起,不就是開個命令窗口練打字罷了。Linux 雖然有所謂桌面版,但有點虛。咱們今天來玩的並不需要桌面,輸命令就行了,Linux 還是用命令來操作比較正規一些。

上面的F話說多了,現在請你先喝一杯豬奶,然後坐下來,和老周一起來開始玩耍吧。放心,很簡單的,你能學會。

開啟 Windows 10 下的 Linux 子系統

這是很重要的一步,也是第一步,你要到控制面板,找到【程序】,然後關閉或啟用 Windows 組件。接著勾選那個【適用於 Linux 的 Windows 子系統】。

技術分享圖片

然後系統會進行配置,接著重啟,重啟完就OK了。這一步會吧,不用我教了吧,如果這也不會,那我也沒辦法了。

這個是開啟 Bash 的,一定要開啟這個啊,不然的話,等你啟動 Linux 時就會出現這個提示。

技術分享圖片

安裝 Ubuntu

安裝 Linux 子系統有兩個方法,雖說是兩個方法,其實本質一樣,都是在應用商店下載的。方法一就是直接運行 bash,

技術分享圖片

你可以在任意目錄下運行 bash,比如這樣:

技術分享圖片

打開 Power shell 或者 CMD ,然後輸入 bash 就可以運行了,是不是很 TMD 方便呢。

當你啟動 Bash 後,它會自動下載安裝 Linux 。

第二個方法就是到商店裏面下載,老周嚴重推薦這種方法,因為你可以選擇裝哪個。目前,商店提供了三個發行版本。

技術分享圖片

對於我們測試或學習來說,我們只安裝 Ubuntu 就可以了。跟一般 UWP 應用的安裝一樣,你點安裝就行了。

開始進入 Linux

安裝完 Ubuntu 後,你同樣有兩種方法來運行 Linux 。一種是啟動 bash,另一種是運行 Ubuntu 應用。直接在 Cortana 搜索框中輸入 ubuntu 就行。

技術分享圖片

第一次運行,它會提示你,請等幾分鐘。然後你倒一杯豬奶,坐幾分鐘就好了。

技術分享圖片

等你喝完豬奶,估計初始化就完成了,然後你會看到,它提示你輸入用戶名。技術分享圖片

你可以隨便輸入,不一定要和你登錄 Windows 的名字一樣,它只是子系統中使用的,比如,老周輸入 zhou。然後回車確認,這個常識你要知道的,所有命令都是回車確認。

隨後,會提示你輸入密碼。

技術分享圖片

你要註意啊,輸密碼的過程中,是沒有任何顯示的,所以,請記住你按了哪些鍵。這個是用來測試的,是子系統,你不需要設置太復雜的密碼,隨便輸入個弱智密碼就行了,比如 123,abc 之類的。

回車後會提示你再確認一次密碼,你再輸一次就行了。完成你就登入 Ubuntu 系統了,只要你看到類似這樣顯示的,說明你成功了。

技術分享圖片

zhou 就是剛輸入的用戶名,@ 後面是你當前的主機名,比如老周的計算機名是 Zhou-Surface,是一臺 Surface Pro 4。然後是冒號,後面的 ~ 表示你現在所處的工作目錄(當前目錄)是在 /home/<你的用戶名> 下面。

如何顯示你現在所處目錄的完整路徑呢,老周教你兩招:

第一招,輸入 : echo $PWD。註意啊,Linux 是嚴重區分大小寫的,所以你輸入命令時一定要小心。

技術分享圖片

執行後會輸出:

技術分享圖片

zhou 是以當前用戶命名的目錄,如果你剛才輸入的用戶名是 pig,那麽就會輸出 /home/pig。

PWD 是一個環境變量,它表示當前工作目錄的路麽,我們切換目錄後,PWD 環境變量會跟著變,不信你來試試。現在切換到 /etc 目錄,然後再輸出一次。

技術分享圖片

看到了吧,PWD 就變成 /etc 了。

切換目錄和 Windows 一樣,也是用 cd 命令,路徑的表示方式是以 “/” 開頭的,/ 就是根目錄。

剛剛你可能看到了,引用環境變量時在 PWD 前面加了個 $,它不是叫你用美元支付,而是變量引用的語法,不管是環境變量還是你臨時定義的變量,都是這樣。比如,我臨時定義一個變量叫 dog,然後我引用它時,就是 $dog。

技術分享圖片

註意 dog=‘....‘ 中間不要出現空格,不要寫成 dog = ‘xxxx‘,這樣會提示錯誤,因為空格後的內容被識別為命令行參數。

echo 命令的作用就是輸出文本,這個命令很多平臺都有,Windows 下也可以用的,PHP中也是用這玩意兒的。

你看看,不知不覺,輸入了一堆東西。

技術分享圖片

你是不是覺得,屏幕上的東西太亂太多了,看著眼睛會長毛,沒事,這時你只要按一下 【Ctrl + L】,屏幕上的東西就會馬上滾蛋。

扯遠了,剛才咱們說了用 $PWD 環境變量可以查看當前工作目錄,現在老周再告訴你另一種方法。

輸入 pwd -P,就可以了。

技術分享圖片

註意 ,pwd 是小寫的,-P 是大寫的,是 print 的意思,即打印出當前目錄的路徑。

如何重置

這個子系統很好玩的,不管你用來學習 Linux 還是用來測試 .net Core 項目,你愛怎麽搞就怎麽搞,只要別把人家搞懷孕了就行。如果你一時沖動,把它搞懷孕了怎麽辦。千萬不要相信那些滿大街張貼的那種什麽無痛 + 人流,什麽科學流產,什麽無後遺癥引流,全是騙人的。

你只需要把開 Win 10 的 【設置】,找到應用管理,然後進入高級選項。

技術分享圖片

看到了嗎,頁面上有個“重置”按鈕,你重置一下就行了。

技術分享圖片

註意,重置只對 Linux 子系統,不是你的Win 10,所以放心,Windows 文件不受影響,但你在 Ubuntu 上所做的任何修改,包括你安裝的軟件包,都會全部丟失,就等於回到剛從商店下載時的狀態。

文本編輯器

學會用一下文本編輯器還是有必要的,因為後面安裝 .net Core,以及配置服務器時都要寫配置文件。Linux 上用得多的文本編輯器一般有 vi、vim等。不過那個有點復雜,老周推薦一個簡單好用的—— nano。

直接輸入 nano 就能啟動。

技術分享圖片

界面長得很像東施,沒辦法,將就著用,這個簡單,而且完全夠我們用了。

你可以往裏面輸入東西,就像這樣。

技術分享圖片

你全程都應用鍵盤操作,鼠標不需要動。

看到窗口底部那些文字嗎,它是提示你的快捷鍵,你可以直接按。咋按呢,字符 ^ 指的是【Ctrl】鍵,比如 Get Help,你就按 Ctrl + G。

現在輸入完內容了,我們要保存,按照提示,按快捷鍵【Ctrl + O】,這時會提示你輸入文件名。

技術分享圖片

輸入文件名後,回車,就保存了。

然後按 【Ctrl + X】退出。

那麽,文件放在哪裏了呢?就放在你當前的工作目錄下。比如我現在的工作目錄就在 /home/zhou 下,所以文件就在這裏。

你可以輸入這個命令來驗證 ls (第一個字符是小寫的 L,不要看成數字 1),ls 命令是 list 的縮寫,專門列出目錄和文件。

技術分享圖片

123.txt 就是我剛才保存的文件。

現在,我們打開它看看,輸入: nano -v 123.txt

技術分享圖片

這個 -v 參數,就是以只讀方式打,如果你想修改文件,是修改不了的,它會警告你。

技術分享圖片

如果你想用正常方式打開,可以去掉 -v 參數。

技術分享圖片

如果你不想用 nano 編輯器打開文件,而只是想看看它裏面有什麽鬼,或者想直接輸出到命令行窗口,你可以用 cat 命令。

技術分享圖片

執行後,就直接輸出文件的內容了。

技術分享圖片

想刪除那個文件就用 rm 命令,輸入:rm 123.txt,回車。

=====================================================

好,今天就講到這裏,老周擔心,講多了你消化不了。下一篇老周再講講在 Linux 子系統中安裝 dotnet core 以及服務器包,如 nginx。

【ASP.NET Core】準備工作:在 Windows 10 上配置 Linux 子系統