Skip to main content

使用Windows 10的新Bash Shell可以做的一切

使用Windows 10的新Bash Shell可以做的一切

Geoffrey Carr

Windows 10的周年紀念更新在2016年增加了對Windows 10 Linux環境的支持。但不要被欺騙:這不僅僅是一個Bash shell。它是在Windows上運行Linux應用程序的完全兼容層。

我們已經介紹了Windows 10的新Bash shell中可以執行的許多操作,因此為方便起見,我們將所有這些指南匯總到一個大型列表中。

Linux上的Linux入門

您可以在任何版本的Windows 10上安裝Linux環境和Bash shell,包括Windows 10 Home。但是,它確實需要64位版本的Windows 10.您只需啟用Windows子系統Linux功能,然後從Windows應用商店安裝所選的Linux發行版 - 例如Ubuntu。

從2017年末的Fall Creators Update開始,您不再需要在Windows中啟用開發人員模式,此功能不再是測試版。

安裝Linux軟件

在Ubuntu(或Debian)環境中安裝Linux軟件的最簡單方法是使用 apt-get 命令。 (該 apt 命令也有效。)此命令從Ubuntu的軟件存儲庫下載並安裝軟件。只需一個命令即可下載並安裝一個或多個應用程序。

由於這是一個或多或少完整的Ubuntu用戶空間環境,您還可以通過其他方式安裝軟件。例如,您可以像在Linux發行版上一樣編譯和安裝源代碼中的軟件。

如果您已安裝其他Linux發行版,請使用命令在該特定發行版上安裝軟件。例如,openSUSE使用 zypper 命令。

運行多個Linux發行版

Fall Creators Update還支持多個Linux發行版,以前只有Ubuntu可用。最初,您可以安裝Ubuntu,openSUSE Leap,SUSE Linux Enterprise Server,Debian GNU / Linux或Kali Linux。 Fedora也在推進,我們可能會看到未來會提供更多的Linux發行版。

您可以安裝多個Linux發行版,甚至可以同時運行多個不同的L​​inux環境。

如果您不確定要安裝哪個,我們建議使用Ubuntu。但是,如果你需要一個特定的Linux發行版 - 也許你正在測試運行SUSE Linux Enterprise Server或Debian的服務器上運行的軟件,或者你想要Kali Linux中的安全測試工具 - 它們可以和Ubuntu一起在商店中使用。

在Bash中訪問Windows文件,在Windows中訪問Bash文件

您的Linux文件和Windows文件通常是分開的,但有一些方法可以從Windows訪問Linux文件,從Linux環境訪問Windows文件。

您安裝的Linux發行版會創建一個隱藏文件夾,其中存儲該Linux環境中使用的所有文件。如果要使用Windows工具查看和備份Linux文件,可以從Windows訪問此文件夾,但Microsoft警告您不應使用Windows工具修改這些Linux文件,也不應在此處使用Windows應用程序創建新文件。

當您在Linux環境中時,可以從/ mnt /文件夾下訪問Windows驅動器。您的C:驅動器位於/ mnt / c,而您的D:驅動器位於/ mnt / d,例如。如果要使用Linux和Windows環境中的文件,請將它們放在Windows文件系統中的某個位置,然後通過/ mnt /文件夾訪問它們。

安裝可拆卸驅動器和網絡位置

適用於Linux的Windows子系統自動在/ mnt /文件夾下安裝固定內部驅動器,但它不會自動安裝可移動驅動器,如USB驅動器和光盤。它也不會自動掛載可能映射到您PC上的任何網絡驅動器。

但是,您可以自己安裝這些文件並使用特殊的mount命令在Linux環境中訪問它們,該命令利用了drvfs文件系統。

切換到Zsh(或另一個Shell)而不是Bash

雖然微軟最初將此功能作為“Bash shell”環境,但它實際上是一個底層兼容層,允許您在Windows上運行Linux軟件。這意味著如果您願意,可以運行其他shell而不是Bash。

例如,您可以使用Zsh shell而不是Bash。當您在“開始”菜單中打開Linux shell快捷方式時,甚至可以讓標準Bash shell自動切換到Zsh shell。

在Windows上使用Bash腳本

由於這個環境,實際上可以在Windows上編寫Bash shell腳本並運行它。您的Bash腳本可以訪問存儲在/ mnt文件夾下的Windows文件,因此您可以使用Linux命令和腳本來處理正常的Windows文件。您還可以在Bash腳本中運行Windows命令。

您可以將Bash命令合併到Batch腳本或PowerShell腳本中,這非常方便。對於所有這些以及更多內容,請參閱我們的Windows 10中的bash腳本指南。

從Linux Shell外部運行Linux命令

如果您只是想快速啟動程序,執行命令或運行腳本,您甚至不需要首先啟動Bash環境。你可以使用 bash -c 要么 wsl 命令從Linux shell外部執行Linux命令。Linux環境只是運行命令,然後退出。如果從命令提示符或PowerShell窗口中運行此命令,該命令會將其輸出打印到命令提示符或PowerShell控制台。

你可以做很多事情 bash -c 要么 wsl。您可以創建桌面快捷方式來啟動Linux程序,將它們集成到批處理或PowerShell腳本中,或以運行Windows程序的任何其他方式運行它們。

從Bash運行Windows程序

從Creators Update(2017年春季發布)開始,您可以在Linux環境中運行Windows程序。這意味著您可以在Bash腳本中集成Windows命令和Linux命令,或者只從您可能已經使用的標準Bash或Zsh shell運行Windows命令。

要運行Windows程序,請鍵入.exe文件的路徑,然後按Enter鍵。您將在Bash環境中的/ mnt / c文件夾下找到已安裝的Windows程序。請記住,該命令區分大小寫,因此“Example.exe”與Linux中的“example.exe”不同。

運行圖形Linux桌面程序

Microsoft不正式支持Windows上的圖形Linux軟件。 Windows子系統Linux功能旨在運行開發人員可能需要的命令行程序。但實際上可以使用此功能在Windows上運行圖形Linux桌面程序。

但是,默認情況下這不起作用。您需要安裝X服務器並設置 DISPLAY 圖形Linux桌面程序將在Windows桌面上運行之前的變量。應用程序越簡單,就越有可能運行良好。應用程序越複雜,它就越有可能嘗試做一些微軟的Linux底層Windows子系統尚不支持的東西。你所能做的就是用這些指示給它一個機會並希望最好。

選擇您的默認Linux環境

如果安裝了多個Linux發行版,則可以選擇默認安裝。這是使用Linux啟動Linux發行版時使用的發行版 bash 要么 wsl 命令,或當你使用 bash -c 要么 wsl 用於從Windows中的其他位置運行Linux命令的命令。

即使你安裝了多個Linux發行版,你仍然可以通過運行像這樣的命令直接啟動它們 ubuntu 要么 opensuse-42。您需要的確切命令將在Microsoft Store上的每個Linux發行版的下載頁面上詳細說明。

從文件資源管理器快速啟動Bash

您不必從其快捷方式圖標啟動Linux shell。您可以在文件資源管理器中快速啟動它,方法是在地址欄中鍵入“bash”並按Enter鍵。將出現您的默認Linux發行版的Bash shell,當前工作目錄將是您在文件資源管理器中打開的目錄。

該文章還提供了通過編輯Windows註冊表在文件資源管理器中添加“Open Bash shell here”選項的說明,為您提供了方便的上下文菜單選項,其工作方式類似於“在此處打開PowerShell窗口”或“在此處打開命令提示符”選項。

更改您的UNIX用戶帳戶

首次設置Bash時,系統會提示您創建UNIX用戶帳戶並設置密碼。每次打開Bash窗口時,您都會自動使用此帳戶登錄。如果要更改UNIX用戶帳戶 - 或者將root帳戶用作shell中的默認帳戶,則會有一個隱藏的命令用於更改默認用戶帳戶。

卸載並重新安裝Linux環境

在安裝了某些程序或更改了某些設置之後,您可能需要重新安裝Ubuntu或其他Linux發行版並獲得全新的Linux環境。這在以前有點複雜,但您現在可以通過卸載Linux發行版來完成它,就像您使用任何其他應用程序一樣,然後從Store重新安裝它。

要在不重新下載Linux發行版的情況下獲得新系統,可以從Windows命令提示符或PowerShell控制台運行發行版的命令以及“clean”選項。例如,要重置Ubuntu而不重新加載它,請運行 ubuntu clean .

如果您仍然安裝了較舊的Linux環境 - 在Fall Creators Update之前安裝了一個 - 您仍然可以使用lxrun命令將其卸載。

升級您的Ubuntu環境

在Windows 10的Fall Creators Update之後,您現在必須從Store安裝Ubuntu和其他Linux環境。當您這樣做時,它們將自動更新到最新版本,而無需任何特殊命令。

但是,如果您在較舊版本的Windows上創建了Bash環境,則將安裝較舊的Ubuntu環境。您只需打開商店,然後從Windows應用商店安裝最新的Ubuntu即可升級。


毫無疑問,富有進取心的極客將會想出未來Linux環境可以做的其他有趣的事情。 Windows子系統Linux將有望繼續變得更強大,但不要指望微軟會在短期內正式支持圖形Linux桌面應用程序。

Link
Plus
Send
Send
Pin