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)

   有兴趣可以体验一下~



相关文章
|
4天前
|
Ubuntu Linux C语言
【opencv】opencv在windows和linux的应用
【opencv】opencv在windows和linux的应用
|
4天前
|
SQL Linux 数据库
Linux上sqlite的安装和使用方法以及在QT中如何使用sqlite&笔记总结
Linux上sqlite的安装和使用方法以及在QT中如何使用sqlite&笔记总结
|
7天前
|
Rust Linux iOS开发
Rust 交叉编译 macOS 为 Linux 和 Windows
Rust 交叉编译 macOS 为 Linux 和 Windows
18 0
|
10天前
|
运维 Linux 网络安全
跨平台SSH文件传输:Linux与Windows环境下的实践指南
本文介绍了在Linux和Windows之间使用SCP、SecureCRT及PuTTY工具集进行文件传输的方法。在Linux中,利用SCP命令进行文件下载、上传及目录传输。在Windows环境下,PSFTP和PSCP提供类似功能,而SecureCRT作为SSH客户端,支持设置上传下载目录并进行文件传输。掌握这些工具的使用可提升跨平台运维效率。
|
10天前
|
Linux Perl
Linux命令split的使用方法说明
【6月更文挑战第11天】Linux命令split的使用方法说明
25 4
|
15天前
|
监控 Unix Linux
windows和linux实时监控文本内容的命令
windows和linux实时监控文本内容的命令
22 1
|
16天前
|
Ubuntu Linux Docker
windows 安装docker 安装Ubuntu linux
windows 安装docker 安装Ubuntu linux
|
17天前
|
机器人 Linux 数据安全/隐私保护
一键部署 botpress windows和linux 傻瓜式安装智能对话机器人 chatbot
一键部署 botpress windows和linux 傻瓜式安装智能对话机器人 chatbot
一键部署 botpress windows和linux 傻瓜式安装智能对话机器人 chatbot
|
17天前
|
Linux 网络安全 Windows
ssh连接缓慢 ssh连接失败问题 Linux 脚本解决ssh连接缓慢问题,windows解决本地ssh连接失败
ssh连接缓慢 ssh连接失败问题 Linux 脚本解决ssh连接缓慢问题,windows解决本地ssh连接失败
|
29天前
|
Windows
Windows的mklink使用方法
【5月更文挑战第20天】Windows的mklink使用方法
35 0