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天前
|
Linux Windows
Linux01---目录结构,Linux系统下只有一个最顶级的树/,Windows系统有盘符概念,而Linux系统没有盘符概念,整个系统都在/根目录下,Linux 系统写法 /user/local
Linux01---目录结构,Linux系统下只有一个最顶级的树/,Windows系统有盘符概念,而Linux系统没有盘符概念,整个系统都在/根目录下,Linux 系统写法 /user/local
|
3天前
|
Java Linux 应用服务中间件
Windows和Linux的最佳Web服务器
【7月更文挑战第20天】Windows和Linux的最佳Web服务器
11 3
|
21天前
|
Java Linux
Linux通配符的使用方法
Linux通配符的使用方法
|
1月前
|
Ubuntu Linux C语言
【opencv】opencv在windows和linux的应用
【opencv】opencv在windows和linux的应用
|
1月前
|
SQL Linux 数据库
Linux上sqlite的安装和使用方法以及在QT中如何使用sqlite&笔记总结
Linux上sqlite的安装和使用方法以及在QT中如何使用sqlite&笔记总结
|
1月前
|
运维 Linux 网络安全
跨平台SSH文件传输:Linux与Windows环境下的实践指南
本文介绍了在Linux和Windows之间使用SCP、SecureCRT及PuTTY工具集进行文件传输的方法。在Linux中,利用SCP命令进行文件下载、上传及目录传输。在Windows环境下,PSFTP和PSCP提供类似功能,而SecureCRT作为SSH客户端,支持设置上传下载目录并进行文件传输。掌握这些工具的使用可提升跨平台运维效率。
|
25天前
|
Linux 数据安全/隐私保护 Windows
pscp 将Linux服务器上的文件同步到Windows服务器上
【6月更文挑战第28天】pscp 将Linux服务器上的文件同步到Windows服务器上
34 0
|
26天前
|
运维 网络协议 Linux
Linux与Windows下追踪网络路由:traceroute、tracepath与tracert命令详解
Linux与Windows下追踪网络路由:traceroute、tracepath与tracert命令详解
42 0
|
29天前
|
Linux Windows
windows和linux安装Erlang
windows和linux安装Erlang
46 0
|
1月前
|
网络协议 Linux 编译器
【原创】EtherCAT主站IgH解析(二)-- 如何将Igh移植到Linux/Windows/RTOS等多操作系统移植指南
EtherCAT主站方案对比:商业的如Acontis、TwinCAT3和开源的igh、SOEM。SOEM易移植但功能和实时性不足,适合简单应用;igh功能强大,实时性能优秀,基于内核态,适合复杂场景。igh能移植到其他RTOS,但需克服多任务无调度的挑战。依赖操作系统服务如定时器、内存分配,适合Linux内核,但移植到裸机复杂。