Windows 中的linux使用方法

简介: Win10一周年版推出了用于Windows的Linux子系统这一功能,最近体验了一下感觉极佳。不说别的,有一个完整的Linux环境就可以完爆一切bash环境了,痛快地卸载了Git for Windows/Cygwin/minGW/msys/babun吧!

Linux on Windows简介


   Win10一周年版推出了用于Windows的Linux子系统这一功能,最近体验了一下感觉极佳。不说别的,有一个完整的Linux环境就可以完爆一切bash环境了,痛快地卸载了Git for Windows/Cygwin/minGW/msys/babun吧!


   Linux子系统和Windows的结合真是有一种神互补。子系统可以挂载windows的文件系统,于是就可以在现有的文件系统下干一个完整的Linux环境所能干的事情。软件丰富更适合日常使用的Windows与开源且适合开发的Linux结合使得开发更加简便,不用再考虑双系统虚拟机这种效率不高的结合方式了,Linux on Windows用一种应用软件的方式实现了系统软件的功能,这一点可以说让人惊艳了。重要的是这样同时运行的两个系统并不是相互独立的,而是可以协作的,以后完全可以使用Windows下的工具进行编码,然后在Linux子系统进行Git提交,当然,它所能够发挥的作用远远不仅于此。


如何启用


启用Linux子系统


启用开发者模式


   系统模式的设定位于所有设置->更新和安全->针对开发人员, 更改后如下:




更改系统功能

   使用win+X快捷键调出系统管理菜单后点击程序与功能,选择启用或关闭Windows功能,修改“适用于Windows的Linux子系统一项”,勾选之,确认并重启。


安装系统

   使用cmd下载Linux系统。打开功能以后系统中其实还没有安装Linux,需要使用cmd完成安装,这一步可能比较漫长。如果PC中已经安装了bash工具如msys(git for Windows),打开管理员权限的cmd,输入bash,按照提示一步一步下载即可。下载的过程比较漫长,耐心等待。


下载完成以后配置用户名密码即可愉快地使用ubuntu啦!


启用root权限并建立用户


   接下来可以输入sudo passwd root建立root用户(最高权限)。如果需要的话可以再使用adduser username建立一个新user(不建议使用useradd), 用户的切换通过suusername完成。


切换到root用户输入su即可。


完成升级


   启用了root用户,接下来操作就比较方便了,先使用su切到root用户,然后直接使用apt-get完成软件包的升级。(apt-get updateapt-get upgrade)。


   如果升级过程中出现连接错误(__Assertion__、method dies),先把命令再输一次试试。如果cmd保持一个类似于死机的状态太久(比如20分钟),先按一次ctrl+C试试。


基本配置


修改源


   源的修改有两种方式:


通过修改源列表;

通过apt-add-repository命令。

   源列表文件位于/etc/apt/sources.list,可以使用vim直接完成修改,建议先保存原文件cp /etc/apt/sources.list /etc/apt/sources.list.backup,然后再使用vim编辑,将找到的源直接加在列表后面。使用cmd开vim比较方便的在于可以直接将系统剪贴板的内容帖进去。在插入模式下(按i进入)将光标移到合适的位置,然后鼠标右键点击cmd标题栏,编辑->粘贴即可。修改完成以后按Esc退出插入模式,输入:x并回车保存并退出。完成以后可以apt-get updateapt-get upgrade来一次。


升级系统


   输入lsb_release -a可以看到当前的系统版本为:ubuntu 14.04.4 LTS, 最新版本为16.04.1 LTS, 可以更新一下。


  1. apt-get install update-manager安装更新管理器;
  2. do-release-upgrade -f DistUpgradeViewNonInteractive -d完成更新。


如果上述步骤没有达到更新效果,可以再尝试以下步骤:


  1. dpkg --configure -a
  2. apt-get update,更新包列表,这一步可能会询问是否继续,YES即可。
  3. apt-get upgrade,升级软件包;
  4. apt-get dist-upgrade,完成升级;
  5. apt-get autoremove,自动删除不需要的包。


如果遇到网络问题,参照完成升级,解决。完成以后再输入lsb_release -a就是金光闪闪的16.04啦~


优雅地使用


使用zsh


   ubuntu的默认shell使用bash,但是外观不太好看而且功能不够强大。zsh是一个相对好用一点的shell,可以使用zsh替换默认shell。


使用步骤


安装zsh

1

$ apt-get install zsh

安装wget和git

1

$ apt-get install wget git

执行oh-my-zsh配置脚本

替换默认shell

1

$ chsh -s /bin/zsh


   到这里zsh的安装就完成啦,可以关闭命令行然后重新输入bash进入Linux,然后输入su登录root账户查看效果。这时可以输入echo $SHELL查看当前的shell版本。


   注意:输入bash进入Linux后其实是一种未登录的状态,需要输入su username切换到指定用户才能正常使用。


zsh配置

   尽管zsh非常强大,但是默认设定还是不够完美,可以通过修改/root/.zshrc文件完成配置的更改,修改完成以后输入source /root/.zshrc即可查看效果。


   zsh的主题可以在这里找到,修改文件中的ZSH_THEME="robbyrussell"即可更改主题。不过由于cmd本身使用单个字体文件显示字符,所以一些很漂亮的主题可能不太好用,建议选择没有太多特殊符号的主题。由于zsh的配置其实是一件非常有趣的事情,故其包含的内容也非常多,这里就不多说了。


cmd设定


   尽管zsh非常漂亮,但是在cmd中的显示依然要通过cmd的支持,所以建议对cmd也进行一些修改,右键标题栏->默认值可以设定默认属性,属性项里的设定可以设定本次会话的显示效果。cmd默认使用点阵字体,但是不太好看,推荐使用TrueTypeFont字体。下载好TrueTypeFont字体文件并安装后如果在cmd中无对应选项,可以修改注册表中关于concole的设定。


   找到HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Console\TrueTypeFont\添加项即可。如添加000项,值为要添加的字体名。


更好的选择

   推荐使用cmder代替cmd,外观极美的一个命令行工具,关键字高亮、配色和字体都很棒,可定制性很强。不过在cmder中使用Linux on Windows只有登陆后才能正常使用,登录前(输入bash而未切换到具体用户)甚至没有关键字高亮和命令重复的支持。


   此外,cmder还提供了对mintty/poweshell等的支持。很优雅~


   使用cmder时可以新建一个空的task,在start-up的框中填入bash.exe即可。这样可以避免历史命令文件的读取异常,保证正常使用上下键回看历史命令。不过由于cmder对vim的支持不太好,可能会有方向键的问题。解决方法如下:在框中填入%windir%\system32\bash.exe ~ -cur_console:p:n即可。界面如下:




   如果遇到vim的visual block模式无法进入的问题,在设置中关闭Ctrl+v的粘贴功能就好:settings->keys&macro->paste->paste mode #2->do nothing。


进阶


w2qw 提供了一种通过bash运行图形界面软件的方法。主要步骤如下:


在Linux中安装图形界面的程序(如Firefox)

安装Xming X Server for Windows

在Linux中输入DISPLAY=:0 firefox)

   有兴趣可以体验一下~



相关文章
|
18天前
|
Ubuntu 安全 Linux
|
3月前
|
Linux 数据安全/隐私保护 Windows
Linux共享Windows目录
Linux共享Windows目录
|
1月前
|
存储 Linux 编译器
cmake的单目录和多目录的使用(Linux和Windows)
本文介绍了在Windows和Linux平台上使用CMake构建单目录和多目录项目的步骤,包括如何配置CMakeLists.txt文件以及如何生成和使用可执行文件、库文件。
17 2
|
1月前
|
XML 网络安全 数据格式
Kali渗透测试:Windows事件管理工具wevtutil的使用方法(一)
Kali渗透测试:Windows事件管理工具wevtutil的使用方法(一)
|
14天前
|
Linux 网络安全 虚拟化
适用于Linux的Windows子系统(WSL1)的安装与使用记录
并放到启动文件夹,就可以开机自动启动了。
19 0
|
28天前
|
关系型数据库 MySQL Linux
Navicat 连接 Windows、Linux系统下的MySQL 各种错误,修改密码。
使用Navicat连接Windows和Linux系统下的MySQL时可能遇到的四种错误及其解决方法,包括错误代码2003、1045和2013,以及如何修改MySQL密码。
173 0
|
1月前
|
XML 网络安全 数据格式
Kali渗透测试:Windows事件管理工具wevtutil的使用方法(二)
Kali渗透测试:Windows事件管理工具wevtutil的使用方法(二)
|
3月前
|
缓存 NoSQL Linux
【Azure Redis 缓存】Windows和Linux系统本地安装Redis, 加载dump.rdb中数据以及通过AOF日志文件追加数据
【Azure Redis 缓存】Windows和Linux系统本地安装Redis, 加载dump.rdb中数据以及通过AOF日志文件追加数据
123 1
【Azure Redis 缓存】Windows和Linux系统本地安装Redis, 加载dump.rdb中数据以及通过AOF日志文件追加数据
|
3月前
|
Unix Linux Ruby
在windows和linux上高效快捷地发布Dash应用
在windows和linux上高效快捷地发布Dash应用
|
3月前
|
Linux iOS开发 开发者
跨平台开发不再难:.NET Core如何让你的应用在Windows、Linux、macOS上自如游走?
【8月更文挑战第28天】本文提供了一份详尽的.NET跨平台开发指南,涵盖.NET Core简介、环境配置、项目结构、代码编写、依赖管理、构建与测试、部署及容器化等多个方面,帮助开发者掌握关键技术与最佳实践,充分利用.NET Core实现高效、便捷的跨平台应用开发与部署。
139 3