首頁 > 軟體

Windows 10預覽版14316開啟Linux Bash命令列

2020-06-16 17:43:42

Windows 10預覽版14316中已經提供bash元件,預設關閉的,啟用的方法是先選中“開始->設定->更新和安全->針對開發人員->開發人員模式”,然後按 Win+X,F 開啟“程式和功能”,點選左側的“啟用或關閉Windows功能”,然後找到並勾選 Windows Subsystem for Linux (Beta) ,確定後會提示重新啟動啟動系統。

系統重新啟動完成後,按 Win+X,A 開啟命令提示字元(或者按 Win+R 開啟執行對話方塊),輸入 bash 回車,第一次執行會從網上下載Ubuntu linux元件,按提示輸入y。

-- Beta feature --
This will install Ubuntu on Windows, distributed by Canonical
and licensed under its terms available here:
https://aka.ms/uowterms

Type "y" to continue: y
Downloading from the Windows Store... 100%
Extracting filesystem, this will take a few minutes...
????! ???????...
root@localhost:~#

檢視版本資訊和分割區對映:

root@localhost:~# uname -a
Linux localhost 3.4.0+ #1 PREEMPT Thu Aug 1 17:06:05 CST 2013 x86_64 x86_64 x86_64 GNU/Linux
root@localhost:~# cat /etc/issue
Ubuntu 14.04.4 LTS n l
root@localhost:~# ls -al /mnt
total 24
drwxrwxr-x 2 root 1000 0 Apr  7 07:22 .
drwxrwxr-x 2 root root 0 Apr  7 07:22 ..
drwxrwxrwx 2 root root 0 Apr  7 06:58 c
drwxrwxrwx 2 root root 0 Apr  7 04:59 d
root@localhost:~# sudo ls /dev
adss   fb0    kmsg  ptmx  random  tty   urandom
block  input  null  pts   shm     tty0  zero
root@localhost:~#

注意是root使用者,/dev 下也沒有很多的裝置,輸入 exit 可退出bash。

 /root 目錄對應Windows系統的 %localappdata%lxssroot 資料夾(注意,不要刪除lxss目錄,bash會失敗)。

如果不幸刪除了lxss或者其他原因 bash 啟動失敗。可以在CMD裡用下面兩條命令解除安裝再重新安裝:

echo y|lxrun /uninstall
echo y|lxrun /install

更新linux子系統,在CMD裡執行:

lxrun /update                    // 更新linux子系統
// - 或者 -
lxrun /update /critical          // 只更新關鍵更新,更新完成後會強制關閉linux進程

使用命令 apt-get 安裝軟體前建議先在 /etc/apt/sources.list 檔案前端新增國內的映象伺服器, http://mirrors.163.com/ubuntu 是163的映象源:

deb http://mirrors.163.com/ubuntu trusty main restricted universe multiverse
deb http://mirrors.163.com/ubuntu trusty-upadates main restricted universe multi
verse
deb http://mirrors.163.com/ubuntu trusty-security main restricted universe multiverse

可用vi編輯:

vi /etc/apt/sources.list

按3yy複製原來的3行,按Shift+G到結尾,按p貼上。輸入 :1,3s/w*.ubuntu/mirrors.163/ 替換前3行為163的映象,Shift+ZZ儲存退出。

然後用 apt-get update 命令更新源(163的更新源最後會出現一些校驗警告,可以忽略)。

安裝 git: 

apt-get --assume-yes install git

--assume-yes可選:安裝互動全部yes。

刪除用remove替換install。

自動移除:

apt-get autoremove

查詢7z軟體:

apt-cache search 7z

----

下面是安裝swift編譯環境的例子(未成功):

1. 安裝 CLang 和 libicu-dev

apt-get install clang libicu-dev

2. 下載swift發行包(到swift.org裡找ubuntu14.04平台的版本,目前DEV快照是Swift 3.0預覽版本)

curl -O https://swift.org/builds/development/ubuntu1404/swift-DEVELOPMENT-SNAPSHOT-2016-03-24-a/swift-DEVELOPMENT-SNAPSHOT-2016-03-24-a-ubuntu14.04.tar.gz

註:可以先在Windows系統中用下載工具下載好,然後用touch命令在linux檔案系統裡先建立個同名的檔案

root@localhost:~# touch swift-DEVELOPMENT-SNAPSHOT-2016-03-24-a-ubuntu14.04.tar.gz

然後再用Windows進行檔案複製,覆蓋到 %localappdata%lxssroot 資料夾裡。

3. 解壓tar.gz包。

tar xzf swift-DEVELOPMENT-SNAPSHOT-2016-03-24-a-ubuntu14.04.tar.gz

如果產生了如下錯誤:

root@localhost:~# tar zxf swift-DEVELOPMENT-SNAPSHOT-2016-03-24-a-ubuntu14.04.ta
r.gz
tar: swift-DEVELOPMENT-SNAPSHOT-2016-03-24-a-ubuntu14.04/usr/bin/swift-autolink-extract: Cannot create symlink to ‘swift’: Invalid argument
tar: swift-DEVELOPMENT-SNAPSHOT-2016-03-24-a-ubuntu14.04/usr/bin/swiftc: Cannot create symlink to ‘swift’: Invalid argument
tar: swift-DEVELOPMENT-SNAPSHOT-2016-03-24-a-ubuntu14.04/usr/bin/lldb-server: Cannot create symlink to ‘lldb-server-3.9.0’: Invalid argument
tar: swift-DEVELOPMENT-SNAPSHOT-2016-03-24-a-ubuntu14.04/usr/bin/lldb: Cannot create symlink to ‘lldb-3.9.0’: Invalid argument
tar: swift-DEVELOPMENT-SNAPSHOT-2016-03-24-a-ubuntu14.04/usr/bin/lldb-mi: Cannot create symlink to ‘lldb-mi-3.9.0’: Invalid argument
tar: swift-DEVELOPMENT-SNAPSHOT-2016-03-24-a-ubuntu14.04/usr/lib/liblldb.so: Cannot create symlink to ‘liblldb.so.3.9.0’: Invalid argument
tar: swift-DEVELOPMENT-SNAPSHOT-2016-03-24-a-ubuntu14.04/usr/lib/python2.7/site-packages/lldb/_lldb.so: Cannot create symlink to ‘../../../../lib/liblldb.so’: Invalid argument
tar: swift-DEVELOPMENT-SNAPSHOT-2016-03-24-a-ubuntu14.04/usr/lib/python2.7/site-packages/lldb/lldb-argdumper: Cannot create symlink to ‘../../../../bin/lldb-argdumper’: Invalid argument
tar: Exiting with failure status due to previous errors

改用7z來解壓,設定可執行許可權。

rm -rf swift-DEVELOPMENT-SNAPSHOT-2016-03-24-a-ubuntu14.04
apt-get install p7zip-full
7z x swift-DEVELOPMENT-SNAPSHOT-2016-03-24-a-ubuntu14.04.tar.gz
7z x swift-DEVELOPMENT-SNAPSHOT-2016-03-24-a-ubuntu14.04.tar
rm swift-DEVELOPMENT-SNAPSHOT-2016-03-24-a-ubuntu14.04.tar
chmod +x /root/swift-DEVELOPMENT-SNAPSHOT-2016-03-24-a-ubuntu14.04/usr/bin/*

 4. 設定環境變數,編輯 ~/.bashrc 檔案,結尾加入

export PATH=/root/swift-DEVELOPMENT-SNAPSHOT-2016-03-24-a-ubuntu14.04/usr/bin:"${PATH}"

5. 重新載入設定,檢視結果:

root@localhost:~# source ~/.bashrc
root@localhost:~# swift --version
Swift version 3.0-dev (LLVM b010debd0e, Clang 3e4d01d89b, Swift 7182c58cb2)
Target: x86_64-unknown-linux-gnu
root@localhost:~#

6. 目前仍不能進入REPL環境或者編譯swift檔案。

編譯錯誤:

<unknown>:0: error: could not load the swift standard library

在Windows 10上用Bash執行有圖形化使用者介面Ubuntu應用  http://www.linuxidc.com/Linux/2016-04/130125.htm

Windows 10上使用Bash on Ubuntu  http://www.linuxidc.com/Linux/2016-04/130016.htm

本文永久更新連結地址http://www.linuxidc.com/Linux/2016-04/130163.htm


IT145.com E-mail:sddin#qq.com